[ 87%] Building CUDA object CMakeFiles/test_gpu.dir/test_gpu.cpp.o
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(25): error: name followed by "::" must be a class or namespace name
hpx::cuda::experimental::target target;
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(25): error: expected a ";"
hpx::cuda::experimental::target target;
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(26): error: name followed by "::" must be a class or namespace name
hpx::cuda::experimental::allocator<std::uint64_t> alloc(target);
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(26): error: identifier "target" is undefined
hpx::cuda::experimental::allocator<std::uint64_t> alloc(target);
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(26): error: identifier "alloc" is undefined
hpx::cuda::experimental::allocator<std::uint64_t> alloc(target);
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(27): error: name followed by "::" must be a class or namespace name
hpx::cuda::experimental::default_executor exec(target);
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(27): error: expected a ";"
hpx::cuda::experimental::default_executor exec(target);
^
/usr/include/c++/11/bits/alloc_traits.h(95): error: a class or namespace qualified name is required
typedef typename _Alloc::value_type value_type;
^
detected during:
instantiation of class "std::allocator_traits<_Alloc> [with _Alloc=<error-type>]" at line 218 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/usr/include/c++/11/bits/alloc_traits.h(95): error: global-scope qualifier (leading "::") is not allowed
typedef typename _Alloc::value_type value_type;
^
detected during:
instantiation of class "std::allocator_traits<_Alloc> [with _Alloc=<error-type>]" at line 218 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/usr/include/c++/11/bits/alloc_traits.h(95): error: expected a ";"
typedef typename _Alloc::value_type value_type;
^
detected during:
instantiation of class "std::allocator_traits<_Alloc> [with _Alloc=<error-type>]" at line 218 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/usr/include/c++/11/bits/alloc_traits.h(102): error: identifier "value_type" is undefined
using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
^
detected during:
instantiation of class "std::allocator_traits<_Alloc> [with _Alloc=<error-type>]" at line 218 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/usr/include/c++/11/bits/alloc_traits.h(142): error: expected a ">"
using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
^
detected during:
instantiation of class "std::allocator_traits<_Alloc> [with _Alloc=<error-type>]" at line 218 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/usr/include/c++/11/bits/ptr_traits.h(123): error: class "std::pointer_traits<_Ptr>::__rebind<<error-type> *, void, void> [with _Ptr=<error-type> *]" has no member "type"
using rebind = typename __rebind<_Ptr, _Up>::type;
^
detected during:
instantiation of type "std::pointer_traits<_Ptr>::rebind<void> [with _Ptr=<error-type> *]" at line 109 of /usr/include/c++/11/bits/alloc_traits.h
instantiation of class "std::allocator_traits<_Alloc>::_Ptr<_Func, _Tp, <unnamed>> [with _Alloc=<error-type>, _Func=std::__allocator_traits_base::__v_pointer, _Tp=void, <unnamed>=void]" at line 150 of /usr/include/c++/11/bits/alloc_traits.h
instantiation of class "std::allocator_traits<_Alloc> [with _Alloc=<error-type>]" at line 218 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/usr/include/c++/11/bits/ptr_traits.h(123): error: class "std::pointer_traits<_Ptr>::__rebind<<error-type> *, const void, void> [with _Ptr=<error-type> *]" has no member "type"
using rebind = typename __rebind<_Ptr, _Up>::type;
^
detected during:
instantiation of type "std::pointer_traits<_Ptr>::rebind<const void> [with _Ptr=<error-type> *]" at line 109 of /usr/include/c++/11/bits/alloc_traits.h
instantiation of class "std::allocator_traits<_Alloc>::_Ptr<_Func, _Tp, <unnamed>> [with _Alloc=<error-type>, _Func=std::__allocator_traits_base::__cv_pointer, _Tp=const void, <unnamed>=void]" at line 158 of /usr/include/c++/11/bits/alloc_traits.h
instantiation of class "std::allocator_traits<_Alloc> [with _Alloc=<error-type>]" at line 218 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp(264): error: class "std::allocator_traits<<error-type>>" has no member "value_type"
using typename base_type::value_type;
^
detected during:
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp(48): error: class "std::allocator_traits<<error-type>>" has no member "value_type"
using type = typename std::allocator_traits<Allocator>::value_type&;
^
detected during:
instantiation of class "hpx::compute::traits::detail::get_reference_type<Allocator, Enable> [with Allocator=<error-type>, Enable=void]" at line 267
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/traits/allocator_traits.hpp(66): error: class "std::allocator_traits<<error-type>>" has no member "value_type"
typename std::allocator_traits<Allocator>::value_type const&;
^
detected during:
instantiation of class "hpx::compute::traits::detail::get_const_reference_type<Allocator, Enable> [with Allocator=<error-type>, Enable=void]" at line 269
instantiation of class "hpx::compute::traits::allocator_traits<Allocator> [with Allocator=<error-type>]" at line 38 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/vector.hpp
instantiation of class "hpx::compute::vector<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 30 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/detail/iterator.hpp(26): error: class "hpx::compute::traits::allocator_traits<<error-type>>" has no member "value_type"
typename traits::allocator_traits<Allocator>::value_type,
^
detected during instantiation of class "hpx::compute::detail::iterator<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 35 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/iterator_support/iterator_adaptor.hpp(33): error: class "std::iterator_traits<<error-type> *>" has no member "value_type"
using type = typename std::iterator_traits<Iterator>::value_type;
^
detected during:
instantiation of class "hpx::util::detail::value_type_iterator_traits_helper<Iterator> [with Iterator=<error-type> *]" at line 14 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/type_support/lazy_conditional.hpp
instantiation of class "hpx::util::lazy_conditional<Enable, C1, C2> [with Enable=false, C1=hpx::util::detail::value_type_iterator_traits_helper<<error-type> *>, C2=std::remove_reference<<error-type> &>]" at line 19 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/type_support/lazy_conditional.hpp
instantiation of type "hpx::util::lazy_conditional_t<false, hpx::util::detail::value_type_iterator_traits_helper<<error-type> *>, std::remove_reference<<error-type> &>>" at line 68
instantiation of class "hpx::util::detail::iterator_adaptor_base<Derived, Base, Value, Category, Reference, Difference, Pointer> [with Derived=hpx::compute::detail::iterator<uint64_t, <error-type>>, Base=<error-type> *, Value=<error-type>, Category=std::random_access_iterator_tag, Reference=<error-type> &, Difference=void, Pointer=void]" at line 120
instantiation of class "hpx::util::iterator_adaptor<Derived, Base, Value, Category, Reference, Difference, Pointer> [with Derived=hpx::compute::detail::iterator<uint64_t, <error-type>>, Base=<error-type> *, Value=<error-type>, Category=std::random_access_iterator_tag, Reference=<error-type> &, Difference=void, Pointer=void]" at line 24 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/detail/iterator.hpp
instantiation of class "hpx::compute::detail::iterator<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 35 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/iterator_support/iterator_adaptor.hpp(39): error: class "std::iterator_traits<<error-type> *>" has no member "reference"
using type = typename std::iterator_traits<Iterator>::reference;
^
detected during:
instantiation of class "hpx::util::detail::reference_iterator_traits_helper<Iterator> [with Iterator=<error-type> *]" at line 14 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/type_support/lazy_conditional.hpp
instantiation of class "hpx::util::lazy_conditional<Enable, C1, C2> [with Enable=false, C1=hpx::util::detail::reference_iterator_traits_helper<<error-type> *>, C2=std::add_lvalue_reference<<error-type>>]" at line 19 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/type_support/lazy_conditional.hpp
instantiation of type "hpx::util::lazy_conditional_t<false, hpx::util::detail::reference_iterator_traits_helper<<error-type> *>, std::add_lvalue_reference<<error-type>>>" at line 74
instantiation of class "hpx::util::detail::iterator_adaptor_base<Derived, Base, Value, Category, Reference, Difference, Pointer> [with Derived=hpx::compute::detail::iterator<uint64_t, <error-type>>, Base=<error-type> *, Value=<error-type>, Category=std::random_access_iterator_tag, Reference=<error-type> &, Difference=void, Pointer=void]" at line 120
instantiation of class "hpx::util::iterator_adaptor<Derived, Base, Value, Category, Reference, Difference, Pointer> [with Derived=hpx::compute::detail::iterator<uint64_t, <error-type>>, Base=<error-type> *, Value=<error-type>, Category=std::random_access_iterator_tag, Reference=<error-type> &, Difference=void, Pointer=void]" at line 24 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/detail/iterator.hpp
instantiation of class "hpx::compute::detail::iterator<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 35 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/iterator_support/iterator_adaptor.hpp(46): error: class "std::iterator_traits<<error-type> *>" has no member "iterator_category"
typename std::iterator_traits<Iterator>::iterator_category;
^
detected during:
instantiation of class "hpx::util::detail::category_iterator_traits_helper<Iterator> [with Iterator=<error-type> *]" at line 14 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/type_support/lazy_conditional.hpp
instantiation of class "hpx::util::lazy_conditional<Enable, C1, C2> [with Enable=false, C1=hpx::util::detail::category_iterator_traits_helper<<error-type> *>, C2=hpx::type_identity<std::random_access_iterator_tag>]" at line 19 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/type_support/lazy_conditional.hpp
instantiation of type "hpx::util::lazy_conditional_t<false, hpx::util::detail::category_iterator_traits_helper<<error-type> *>, hpx::type_identity<std::random_access_iterator_tag>>" at line 80
instantiation of class "hpx::util::detail::iterator_adaptor_base<Derived, Base, Value, Category, Reference, Difference, Pointer> [with Derived=hpx::compute::detail::iterator<uint64_t, <error-type>>, Base=<error-type> *, Value=<error-type>, Category=std::random_access_iterator_tag, Reference=<error-type> &, Difference=void, Pointer=void]" at line 120
instantiation of class "hpx::util::iterator_adaptor<Derived, Base, Value, Category, Reference, Difference, Pointer> [with Derived=hpx::compute::detail::iterator<uint64_t, <error-type>>, Base=<error-type> *, Value=<error-type>, Category=std::random_access_iterator_tag, Reference=<error-type> &, Difference=void, Pointer=void]" at line 24 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/detail/iterator.hpp
instantiation of class "hpx::compute::detail::iterator<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 35 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/iterator_support/iterator_adaptor.hpp(53): error: class "std::iterator_traits<<error-type> *>" has no member "difference_type"
typename std::iterator_traits<Iterator>::difference_type;
^
detected during:
instantiation of class "hpx::util::detail::difference_type_iterator_traits_helper<Iterator> [with Iterator=<error-type> *]" at line 14 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/type_support/lazy_conditional.hpp
instantiation of class "hpx::util::lazy_conditional<Enable, C1, C2> [with Enable=true, C1=hpx::util::detail::difference_type_iterator_traits_helper<<error-type> *>, C2=hpx::type_identity<void>]" at line 19 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/type_support/lazy_conditional.hpp
instantiation of type "hpx::util::lazy_conditional_t<true, hpx::util::detail::difference_type_iterator_traits_helper<<error-type> *>, hpx::type_identity<void>>" at line 85
instantiation of class "hpx::util::detail::iterator_adaptor_base<Derived, Base, Value, Category, Reference, Difference, Pointer> [with Derived=hpx::compute::detail::iterator<uint64_t, <error-type>>, Base=<error-type> *, Value=<error-type>, Category=std::random_access_iterator_tag, Reference=<error-type> &, Difference=void, Pointer=void]" at line 120
instantiation of class "hpx::util::iterator_adaptor<Derived, Base, Value, Category, Reference, Difference, Pointer> [with Derived=hpx::compute::detail::iterator<uint64_t, <error-type>>, Base=<error-type> *, Value=<error-type>, Category=std::random_access_iterator_tag, Reference=<error-type> &, Difference=void, Pointer=void]" at line 24 of /spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/detail/iterator.hpp
instantiation of class "hpx::compute::detail::iterator<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 35 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.4.0/hpx-1.9.1-iqhua6ztl47nz7ysyrvvqcih7e4u7jyk/include/hpx/compute_local/detail/iterator.hpp(32): error: class "hpx::compute::traits::allocator_traits<<error-type>>" has no member "value_type"
typename traits::allocator_traits<Allocator>::value_type,
^
detected during instantiation of class "hpx::compute::detail::iterator<T, Allocator> [with T=uint64_t, Allocator=<error-type>]" at line 35 of /home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(34): error: no instance of overloaded function "hpx::copy_t::operator()" matches the argument list
argument types are: (const hpx::execution::parallel_policy, __gnu_cxx::__normal_iterator<std::size_t *, std::vector<std::size_t, std::allocator<std::size_t>>>, __gnu_cxx::__normal_iterator<std::size_t *, std::vector<std::size_t, std::allocator<std::size_t>>>, hpx::compute::detail::iterator<uint64_t, <error-type>>)
object type is: const hpx::copy_t
hpx::copy(hpx::execution::par, A_host.begin(), A_host.end(),
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(36): error: identifier "exec" is undefined
hpx::ranges::for_each(hpx::execution::par.on(exec), A_device,
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(36): error: no instance of overloaded function "hpx::ranges::for_each_t::operator()" matches the argument list
argument types are: (<error-type>, hpx::compute::vector<uint64_t, <error-type>>, lambda [](uint64_t &)->void)
object type is: const hpx::ranges::for_each_t
hpx::ranges::for_each(hpx::execution::par.on(exec), A_device,
^
/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp(38): error: no instance of overloaded function "hpx::copy_t::operator()" matches the argument list
argument types are: (const hpx::execution::parallel_policy, hpx::compute::detail::iterator<uint64_t, <error-type>>, hpx::compute::detail::iterator<uint64_t, <error-type>>, __gnu_cxx::__normal_iterator<std::size_t *, std::vector<std::size_t, std::allocator<std::size_t>>>)
object type is: const hpx::copy_t
hpx::copy(hpx::execution::par, A_device.begin(), A_device.end(),
^
27 errors detected in the compilation of "/home/users/wspear/gilgamesh-e4s-24.05/testsuite-cuda90-x86_64_24.05/validation_tests/hpx-cuda/test_gpu.cpp".
gmake[2]: *** [CMakeFiles/test_gpu.dir/build.make:77: CMakeFiles/test_gpu.dir/test_gpu.cpp.o] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:167: CMakeFiles/test_gpu.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
The test_gpu.cpp example included in the testsuite builds with a non-gpu variant of hpx, but it fails with both rocm and cuda variants. There are cuda specific api calls in the code so I'm not surprised rocm fails (and I'm not sure how the non-cuda build is able to succeed). Could we get an updated test that can either handle both accelerator types, or get a working version for cuda and a new version for rocm? I didn't spot any existing test codes for hpx+gpus floating around in the hpx repo but if they exist I could import them to the testsuite myself.
This is observed with the current (24.05) e4s release which uses HPX@1.9.1. We should be at 1.10 for the next release so it's probably fine to target that if the implementations would be mutually exclusive.
@msimberg @hkaiser
ROCM variant error output
CUDA variant error output