Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HPX 1.9.1 does not compile on Fedora with ‘#pragma message: [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial #6437

Closed
diehlpk opened this issue Feb 7, 2024 · 3 comments

Comments

@diehlpk
Copy link
Member

diehlpk commented Feb 7, 2024

Expected Behavior

HPX should compile on Fedora rawhide.

Actual Behavior

hpx-1.9.1/libs/full/collectives/src/detail/communication_set_node.cpp
In file included from /usr/include/c++/14/x86_64-redhat-linux/bits/c++config.h:2736,
                 from /usr/include/c++/14/type_traits:38,
                 from /builddir/build/BUILD/hpx-1.9.1/libs/core/config/include/hpx/config/move.hpp:17,
                 from /builddir/build/BUILD/hpx-1.9.1/libs/core/config/include/hpx/config.hpp:29,
                 from /builddir/build/BUILD/hpx-1.9.1/libs/full/collectives/src/detail/communication_set_node.cpp:7:
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_unique(_RandomAccessIterator, _RandomAccessIterator, _BinaryPredicate, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:1219:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 1219 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_partition(_RandomAccessIterator, _RandomAccessIterator, _UnaryPredicate, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:1929:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 1929 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator __pstl::__internal::__brick_stable_partition(_RandomAccessIterator, _RandomAccessIterator, _UnaryPredicate, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:2029:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2029 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_merge(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:2715:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2715 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘void __pstl::__internal::__brick_inplace_merge(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:2764:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 2764 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial")
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘_OutputIterator __pstl::__internal::__brick_set_union(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _OutputIterator, _Compare, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:3141:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3141 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_intersection(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:3202:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3202 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_difference(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:3298:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3298 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/pstl/algorithm_impl.h: In function ‘_RandomAccessIterator3 __pstl::__internal::__brick_set_symmetric_difference(_RandomAccessIterator1, _RandomAccessIterator1, _RandomAccessIterator2, _RandomAccessIterator2, _RandomAccessIterator3, _Compare, std::true_type)’:
/usr/include/c++/14/pstl/algorithm_impl.h:3390:5: note: ‘#pragma message:  [Parallel STL message]: "Vectorized algorithm unimplemented, redirected to serial"’
 3390 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
      |     ^~~~~~~~~~~~~~~~~~~~
gmake[2]: Leaving directory '/builddir/build/BUILD/hpx-1.9.1/x86_64-redhat-linux-gnu-serial'
[ 42%] Built target hpx_collectives
gmake[1]: Leaving directory '/builddir/build/BUILD/hpx-1.9.1/x86_64-redhat-linux-gnu-serial'
gmake: *** [Makefile:149: all] Error 2

Error log: https://bugzilla-attachments.redhat.com/attachment.cgi?id=2012222

Steps to Reproduce the Problem

... Please be as specific as possible while describing how to reproduce your problem.

  1. Build HPX 1.9.1 on Fedora's build system

Specifications

... Please describe your environment

  • HPX Version:
  • Platform (compiler, OS): fedora rawhide, GCC 14
@hkaiser
Copy link
Member

hkaiser commented Feb 7, 2024

@diehlpk could you link the full error log please?

@diehlpk
Copy link
Member Author

diehlpk commented Feb 7, 2024

@hkaiser
Copy link
Member

hkaiser commented Feb 7, 2024

https://kojipkgs.fedoraproject.org//work/tasks/9795/112299795/build.log

Here is a patch fixing this issue:

diff --git a/libs/core/executors/include/hpx/executors/restricted_thread_pool_executor.hpp b/libs/core/executors/include/hpx/executors/restricted_thread_pool_executor.hpp
index 6404f60243d..1073292d0f4 100644
--- a/libs/core/executors/include/hpx/executors/restricted_thread_pool_executor.hpp
+++ b/libs/core/executors/include/hpx/executors/restricted_thread_pool_executor.hpp
@@ -242,7 +242,7 @@ namespace hpx::parallel::execution {
         /// \endcond
 
     private:
-        std::uint16_t const first_thread_;
+        std::uint16_t first_thread_;
         mutable std::atomic<std::size_t> os_thread_;
 
         embedded_executor exec_;

@hkaiser hkaiser closed this as completed Feb 7, 2024
@hkaiser hkaiser added this to the 1.10.0 milestone Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants