Skip to content

While building warpx on summit with openPMD ON, I encountered the following warnings.  #1428

Description

@prkkumar

cmake -S . -B build -DWarpX_DIMS=3 -DWarpX_COMPUTE=CUDA -DWarpX_PSATD=ON
gave the following
configure.txt
When I build the code, I see a bunch of warnings all related to OpenPMD. Here is a snippet of that:

In file included from /ccs/home/prkkumar/warpx_dir/WarpX/build/_deps/fetchedopenpmd-src/src/IO/ADIOS/ADIOS2IOHandler.cpp:22:
/ccs/home/prkkumar/warpx_dir/WarpX/build/_deps/fetchedopenpmd-src/src/IO/ADIOS/ADIOS2IOHandler.cpp: In instantiation of 'openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)> [with auto:29 = openPMD::UniquePtrWithLambda<void>&]':
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/type_traits:2336:26:  required by substitution of 'template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>; _Args = {openPMD::UniquePtrWithLambda<void>&}]'
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/type_traits:2347:55:  required from 'struct std::__result_of_impl<false, false, openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>, openPMD::UniquePtrWithLambda<void>&>'
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/type_traits:2352:12:  required from 'struct std::__invoke_result<openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>, openPMD::UniquePtrWithLambda<void>&>'
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/bits/invoke.h:89:5:  required by substitution of 'template<class _Callable, class ... _Args> constexpr typename std::__invoke_result<_Functor, _ArgTypes>::type std::__invoke(_Callable&&, _Args&& ...) [with _Callable = openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>; _Args = {openPMD::UniquePtrWithLambda<void>&}]'
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/variant:972:24:  required from 'static constexpr decltype(auto) std::__detail::__variant::__gen_vtable_impl<__same_return_types, std::__detail::__variant::_Multi_array<_Result_type (*)(_Visitor, _Variants ...)>, std::tuple<_Variants ...>, std::integer_sequence<long unsigned int, __indices ...> >::__visit_invoke_impl(_Visitor&&, _Variants ...) [with bool __same_return_types = true; _Result_type = void; _Visitor = openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>&&; _Variants = {std::variant<std::shared_ptr<const void>, openPMD::UniquePtrWithLambda<void> >&}; long unsigned int ...__indices = {1}]'
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/variant:980:28:  [ skipping 4 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/variant:900:48:  required from 'constexpr const _Array_type std::__detail::__variant::__gen_vtable<true, void, openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>&&, std::variant<std::shared_ptr<const void>, openPMD::UniquePtrWithLambda<void> >&>::_S_vtable'
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/variant:1638:23:  required from 'constexpr decltype(auto) std::__do_visit(_Visitor&&, _Variants&& ...) [with bool __use_index = false; bool __same_return_types = true; _Visitor = openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>; _Variants = {std::variant<std::shared_ptr<const void>, openPMD::UniquePtrWithLambda<void> >&}]'
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/variant:1654:24:  required from 'constexpr decltype(auto) std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>; _Variants = {std::variant<std::shared_ptr<const void>, openPMD::UniquePtrWithLambda<void> >&}]'
/ccs/home/prkkumar/warpx_dir/WarpX/build/_deps/fetchedopenpmd-src/src/IO/ADIOS/ADIOS2IOHandler.cpp:1949:19:  required from 'static void openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]'
/ccs/home/prkkumar/warpx_dir/WarpX/build/_deps/fetchedopenpmd-src/include/openPMD/IO/ADIOS/ADIOS2Auxiliary.hpp:228:43:  required from 'decltype (Action::call<char>((forward<Args>)(openPMD::switchAdios2VariableType::args)...)) openPMD::switchAdios2VariableType(openPMD::Datatype, Args&& ...) [with Action = openPMD::detail::WriteDataset; Args = {openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&}; decltype (Action::call<char>((forward<Args>)(openPMD::switchAdios2VariableType::args)...)) = void]'
/ccs/home/prkkumar/warpx_dir/WarpX/build/_deps/fetchedopenpmd-src/src/IO/ADIOS/ADIOS2IOHandler.cpp:2427:78:  required from here
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/variant:1019:40:  in 'constexpr' expansion of 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<void (*)(openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>&&, std::variant<std::shared_ptr<const void>, openPMD::UniquePtrWithLambda<void> >&), 2>, std::tuple<std::variant<std::shared_ptr<const void>, openPMD::UniquePtrWithLambda<void> >&>, std::integer_sequence<long unsigned int> >::_S_apply()'
/autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/variant:885:19:  in 'constexpr' expansion of 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<void (*)(openPMD::detail::WriteDataset::call(openPMD::detail::BufferedActions&, openPMD::detail::BufferedPut&) [with T = char]::<lambda(auto:29&&)>&&, std::variant<std::shared_ptr<const void>, openPMD::UniquePtrWithLambda<void> >&), 2>, std::tuple<std::variant<std::shared_ptr<const void>, openPMD::UniquePtrWithLambda<void> >&>, std::integer_sequence<long unsigned int> >::_S_apply_all_alts<0, 1>(__vtable, (std::make_index_sequence<2>(), std::make_index_sequence<2>()))'
/ccs/home/prkkumar/warpx_dir/WarpX/build/_deps/fetchedopenpmd-src/include/openPMD/IO/ADIOS/ADIOS2IOHandler.hpp:917:12: note: 'struct openPMD::detail::BufferedUniquePtrPut' has no user-provided default constructor
 917 |   struct BufferedUniquePtrPut
   |      ^~~~~~~~~~~~~~~~~~~~
/ccs/home/prkkumar/warpx_dir/WarpX/build/_deps/fetchedopenpmd-src/include/openPMD/IO/ADIOS/ADIOS2IOHandler.hpp:923:18: note: and the implicitly-defined constructor does not initialize 'openPMD::Datatype openPMD::detail::BufferedUniquePtrPut::dtype'
 923 |     Datatype dtype;
   |         ^~~~~ 

Full out put of cmake --build build -j 6 is attached below.
cmakeoutput.txt

Note that, I do not see this on my Linux system or Perlmutter.

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions