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

Tightening up collective operation semantics #6408

Merged
merged 9 commits into from
Apr 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 49 additions & 16 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Copyright (c) 2017-2018 Thomas Heller
# Copyright (c) 2015 Martin Stumpf
# Copyright (c) 2022-2024 Hartmut Kaiser
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -489,18 +490,16 @@ jobs:
paths:
- ./build

tests.unit.algorithms:
tests.unit1.algorithms:
<<: *defaults
steps:
- attach_workspace:
at: /hpx
- run:
name: Building Unit Tests (Algorithms)
name: Building Unit Tests (Algorithms, 1)
command: |
ninja -j2 -k 0 \
tests.unit.modules.algorithms.algorithms \
tests.unit.modules.algorithms.block
# tests.unit.modules.algorithms.datapar_algorithms
ninja -j1 -k 0 \
`grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit1.algorithms`
- run:
name: Running Unit Tests
when: always
Expand All @@ -512,19 +511,50 @@ jobs:
--no-compress-output \
--output-on-failure \
--tests-regex \
"tests.unit.modules.algorithms.algorithms|\
tests.unit.modules.algorithms.block"
# "|tests.unit.modules.algorithms.datapar_algorithms"
`grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit1.algorithms | sed ':b;N;$!bb;s/\n/|/g'`
- run:
<<: *convert_xml
- run:
<<: *move_core_dump
- run:
<<: *move_debug_log
- store_test_results:
path: tests.unit.algorithms
path: tests.unit1.algorithms
- store_artifacts:
path: tests.unit.algorithms
path: tests.unit1.algorithms

tests.unit2.algorithms:
<<: *defaults
steps:
- attach_workspace:
at: /hpx
- run:
name: Building Unit Tests (Algorithms, 2)
command: |
ninja -j1 -k 0 \
`grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit2.algorithms`
- run:
name: Running Unit Tests
when: always
command: |
ulimit -c unlimited
ctest \
--timeout 120 \
-T test \
--no-compress-output \
--output-on-failure \
--tests-regex \
`grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit2.algorithms | sed ':b;N;$!bb;s/\n/|/g'`
- run:
<<: *convert_xml
- run:
<<: *move_core_dump
- run:
<<: *move_debug_log
- store_test_results:
path: tests.unit2.algorithms
- store_artifacts:
path: tests.unit2.algorithms

tests.unit.container_algorithms:
<<: *defaults
Expand Down Expand Up @@ -594,7 +624,7 @@ jobs:
- attach_workspace:
at: /hpx
- run:
name: Building Unit Tests
name: Building Unit Tests (1)
command: |
ninja -j2 -k 0 `grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit1.targets`
- run:
Expand Down Expand Up @@ -625,7 +655,7 @@ jobs:
- attach_workspace:
at: /hpx
- run:
name: Building Unit Tests
name: Building Unit Tests (2)
command: |
ninja -j2 -k 0 `grep -v -e ^# -e ^$ /hpx/source/.circleci/tests.unit2.targets`
- run:
Expand Down Expand Up @@ -777,7 +807,7 @@ jobs:
# is enabled, and other machines may fail similarly.
#
# Having to reconfigure here forces everything to be rebuilt, thus
# we disable it all together.
# we disable it altogether.
#
# cmake \
# -DHPX_WITH_DATAPAR_VC=Off .
Expand Down Expand Up @@ -911,7 +941,9 @@ workflows:
<<: *gh_pages_filter
- tests.examples:
<<: *core_dependency
- tests.unit.algorithms:
- tests.unit1.algorithms:
<<: *core_dependency
- tests.unit2.algorithms:
<<: *core_dependency
- tests.unit.container_algorithms:
<<: *core_dependency
Expand Down Expand Up @@ -969,7 +1001,8 @@ workflows:
requires:
- core
- tests.examples
- tests.unit.algorithms
- tests.unit1.algorithms
- tests.unit2.algorithms
- tests.unit.container_algorithms
- tests.unit.segmented_algorithms
- tests.unit1
Expand Down
76 changes: 76 additions & 0 deletions .circleci/tests.unit1.algorithms
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Copyright (c) 2021-2024 Hartmut Kaiser
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

tests.unit.modules.algorithms.algorithms.adjacentdifference
tests.unit.modules.algorithms.algorithms.adjacentdifference_sender
tests.unit.modules.algorithms.algorithms.adjacentfind
tests.unit.modules.algorithms.algorithms.adjacentfind_binary
tests.unit.modules.algorithms.algorithms.all_of
tests.unit.modules.algorithms.algorithms.any_of
tests.unit.modules.algorithms.algorithms.copy
tests.unit.modules.algorithms.algorithms.copyif_random
tests.unit.modules.algorithms.algorithms.copyif_forward
tests.unit.modules.algorithms.algorithms.copyif_exception
tests.unit.modules.algorithms.algorithms.copyif_bad_alloc
tests.unit.modules.algorithms.algorithms.copyn
tests.unit.modules.algorithms.algorithms.count
tests.unit.modules.algorithms.algorithms.countif
tests.unit.modules.algorithms.algorithms.destroy
tests.unit.modules.algorithms.algorithms.destroyn
tests.unit.modules.algorithms.algorithms.ends_with
tests.unit.modules.algorithms.algorithms.equal
tests.unit.modules.algorithms.algorithms.equal_binary
tests.unit.modules.algorithms.algorithms.exclusive_scan
tests.unit.modules.algorithms.algorithms.exclusive_scan2
tests.unit.modules.algorithms.algorithms.exclusive_scan_exception
tests.unit.modules.algorithms.algorithms.exclusive_scan_bad_alloc
tests.unit.modules.algorithms.algorithms.exclusive_scan_validate
tests.unit.modules.algorithms.algorithms.fill
tests.unit.modules.algorithms.algorithms.filln
tests.unit.modules.algorithms.algorithms.find
tests.unit.modules.algorithms.algorithms.find_sender
tests.unit.modules.algorithms.algorithms.findend
tests.unit.modules.algorithms.algorithms.findfirstof
tests.unit.modules.algorithms.algorithms.findfirstof_binary
tests.unit.modules.algorithms.algorithms.findif
tests.unit.modules.algorithms.algorithms.findifnot
tests.unit.modules.algorithms.algorithms.foreach
tests.unit.modules.algorithms.algorithms.foreach_executors
tests.unit.modules.algorithms.algorithms.foreach_prefetching
tests.unit.modules.algorithms.algorithms.foreach_sender
tests.unit.modules.algorithms.algorithms.foreach_scheduler
tests.unit.modules.algorithms.algorithms.foreachn
tests.unit.modules.algorithms.algorithms.foreachn_exception
tests.unit.modules.algorithms.algorithms.foreachn_bad_alloc
tests.unit.modules.algorithms.algorithms.for_loop
tests.unit.modules.algorithms.algorithms.for_loop_exception
tests.unit.modules.algorithms.algorithms.for_loop_induction
tests.unit.modules.algorithms.algorithms.for_loop_induction_async
tests.unit.modules.algorithms.algorithms.for_loop_n
tests.unit.modules.algorithms.algorithms.for_loop_n_strided
tests.unit.modules.algorithms.algorithms.for_loop_reduction
tests.unit.modules.algorithms.algorithms.for_loop_reduction_async
tests.unit.modules.algorithms.algorithms.for_loop_sender
tests.unit.modules.algorithms.algorithms.for_loop_strided
tests.unit.modules.algorithms.algorithms.generate
tests.unit.modules.algorithms.algorithms.generaten
tests.unit.modules.algorithms.algorithms.is_heap
tests.unit.modules.algorithms.algorithms.is_heap_until
tests.unit.modules.algorithms.algorithms.includes
tests.unit.modules.algorithms.algorithms.inclusive_scan
tests.unit.modules.algorithms.algorithms.inclusive_scan_exception
tests.unit.modules.algorithms.algorithms.inplace_merge
tests.unit.modules.algorithms.algorithms.is_partitioned
tests.unit.modules.algorithms.algorithms.is_sorted
tests.unit.modules.algorithms.algorithms.is_sorted_until
tests.unit.modules.algorithms.algorithms.lexicographical_compare
tests.unit.modules.algorithms.algorithms.make_heap
tests.unit.modules.algorithms.algorithms.max_element
tests.unit.modules.algorithms.algorithms.merge
tests.unit.modules.algorithms.algorithms.min_element
tests.unit.modules.algorithms.algorithms.minmax_element
tests.unit.modules.algorithms.algorithms.mismatch
tests.unit.modules.algorithms.algorithms.mismatch_binary
79 changes: 79 additions & 0 deletions .circleci/tests.unit2.algorithms
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Copyright (c) 2021-2024 Hartmut Kaiser
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

tests.unit.modules.algorithms.algorithms.move
tests.unit.modules.algorithms.algorithms.nth_element
tests.unit.modules.algorithms.algorithms.none_of
tests.unit.modules.algorithms.algorithms.parallel_sort
tests.unit.modules.algorithms.algorithms.partial_sort
tests.unit.modules.algorithms.algorithms.partial_sort_copy
tests.unit.modules.algorithms.algorithms.partition
tests.unit.modules.algorithms.algorithms.partition_copy
tests.unit.modules.algorithms.algorithms.reduce_
tests.unit.modules.algorithms.algorithms.reduce_by_key
tests.unit.modules.algorithms.algorithms.remove
tests.unit.modules.algorithms.algorithms.remove
tests.unit.modules.algorithms.algorithms.remove1
tests.unit.modules.algorithms.algorithms.remove2
tests.unit.modules.algorithms.algorithms.remove_if
tests.unit.modules.algorithms.algorithms.remove_if1
tests.unit.modules.algorithms.algorithms.remove_copy
tests.unit.modules.algorithms.algorithms.remove_copy_if
tests.unit.modules.algorithms.algorithms.replace
tests.unit.modules.algorithms.algorithms.replace_if
tests.unit.modules.algorithms.algorithms.replace_copy
tests.unit.modules.algorithms.algorithms.replace_copy_if
tests.unit.modules.algorithms.algorithms.reverse
tests.unit.modules.algorithms.algorithms.reverse_copy
tests.unit.modules.algorithms.algorithms.reverse_sender
tests.unit.modules.algorithms.algorithms.rotate
tests.unit.modules.algorithms.algorithms.rotate_copy
tests.unit.modules.algorithms.algorithms.rotate_sender
tests.unit.modules.algorithms.algorithms.search
tests.unit.modules.algorithms.algorithms.searchn
tests.unit.modules.algorithms.algorithms.set_difference
tests.unit.modules.algorithms.algorithms.set_intersection
tests.unit.modules.algorithms.algorithms.set_symmetric_difference
tests.unit.modules.algorithms.algorithms.set_union
tests.unit.modules.algorithms.algorithms.shift_left
tests.unit.modules.algorithms.algorithms.shift_right
tests.unit.modules.algorithms.algorithms.sort
tests.unit.modules.algorithms.algorithms.sort_by_key
tests.unit.modules.algorithms.algorithms.sort_exceptions
tests.unit.modules.algorithms.algorithms.stable_partition
tests.unit.modules.algorithms.algorithms.stable_sort
tests.unit.modules.algorithms.algorithms.stable_sort_exceptions
tests.unit.modules.algorithms.algorithms.starts_with
tests.unit.modules.algorithms.algorithms.swapranges
tests.unit.modules.algorithms.algorithms.transform
tests.unit.modules.algorithms.algorithms.transform_binary
tests.unit.modules.algorithms.algorithms.transform_binary2
tests.unit.modules.algorithms.algorithms.transform_exclusive_scan
tests.unit.modules.algorithms.algorithms.transform_inclusive_scan
tests.unit.modules.algorithms.algorithms.transform_reduce
tests.unit.modules.algorithms.algorithms.transform_reduce_binary
tests.unit.modules.algorithms.algorithms.transform_reduce_binary_exception
tests.unit.modules.algorithms.algorithms.transform_reduce_binary_bad_alloc
tests.unit.modules.algorithms.algorithms.uninitialized_copy
tests.unit.modules.algorithms.algorithms.uninitialized_copyn
tests.unit.modules.algorithms.algorithms.uninitialized_default_construct
tests.unit.modules.algorithms.algorithms.uninitialized_default_constructn
tests.unit.modules.algorithms.algorithms.uninitialized_fill
tests.unit.modules.algorithms.algorithms.uninitialized_filln
tests.unit.modules.algorithms.algorithms.uninitialized_move
tests.unit.modules.algorithms.algorithms.uninitialized_moven
tests.unit.modules.algorithms.algorithms.uninitialized_relocate_backward
tests.unit.modules.algorithms.algorithms.uninitialized_relocate
tests.unit.modules.algorithms.algorithms.uninitialized_relocaten
tests.unit.modules.algorithms.algorithms.uninitialized_value_construct
tests.unit.modules.algorithms.algorithms.uninitialized_value_constructn
tests.unit.modules.algorithms.algorithms.unique
tests.unit.modules.algorithms.algorithms.unique_copy
tests.unit.modules.algorithms.block.spmd_block
tests.unit.modules.algorithms.block.task_block
tests.unit.modules.algorithms.block.task_block_executor
tests.unit.modules.algorithms.block.task_block_par
tests.unit.modules.algorithms.block.task_group
3 changes: 3 additions & 0 deletions .github/workflows/linux_debug.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Copyright (c) 2020 ETH Zurich
# Copyright (c) 2024 The STE||AR Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -28,6 +29,8 @@ jobs:
-DHPX_WITH_EXAMPLES=ON \
-DHPX_WITH_TESTS=ON \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
-DHPX_WITH_VERIFY_LOCKS=ON \
-DHPX_WITH_VERIFY_LOCKS_BACKTRACE=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On
- name: Build
shell: bash
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/linux_debug_fetch_hwloc.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Copyright (c) 2024 Vedant Nimje
# Copyright (c) 2024 The STE||AR Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -32,6 +33,8 @@ jobs:
-DHPX_WITH_EXAMPLES=ON \
-DHPX_WITH_TESTS=ON \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
-DHPX_WITH_VERIFY_LOCKS=ON \
-DHPX_WITH_VERIFY_LOCKS_BACKTRACE=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On

- name: Build
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/macos_debug.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Copyright (c) 2020 Mikael Simberg
# Copyright (c) 2024 The STE||AR Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -38,6 +39,8 @@ jobs:
-DHPX_WITH_EXAMPLES=ON \
-DHPX_WITH_TESTS=ON \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=3 \
-DHPX_WITH_VERIFY_LOCKS=ON \
-DHPX_WITH_VERIFY_LOCKS_BACKTRACE=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=ON
- name: Build
shell: bash
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/macos_debug_fetch_hwloc.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Copyright (c) 2024 Vedant Nimje
# Copyright (c) 2024 The STE||AR Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -39,6 +40,8 @@ jobs:
-DHPX_WITH_EXAMPLES=ON \
-DHPX_WITH_TESTS=ON \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=3 \
-DHPX_WITH_VERIFY_LOCKS=ON \
-DHPX_WITH_VERIFY_LOCKS_BACKTRACE=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=ON
- name: Build
shell: bash
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/windows_clang_debug.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright (c) 2020 Mikael Simberg
# Copyright (c) 2022 Hartmut Kaiser
# Copyright (c) 2022-2024 Hartmut Kaiser
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -37,6 +37,8 @@ jobs:
-DHPX_WITH_DEPRECATION_WARNINGS=OFF \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
-DHPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=ON \
-DHPX_WITH_VERIFY_LOCKS=ON \
-DHPX_WITH_VERIFY_LOCKS_BACKTRACE=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On \
- name: Build
shell: bash
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/windows_debug_vs2019.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Copyright (c) 2020 Mikael Simberg
# Copyright (c) 2024 The STE||AR Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -36,6 +37,8 @@ jobs:
-DHPX_WITH_DEPRECATION_WARNINGS=OFF \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
-DHPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=ON \
-DHPX_WITH_VERIFY_LOCKS=ON \
-DHPX_WITH_VERIFY_LOCKS_BACKTRACE=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On
- name: Build
shell: bash
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/windows_debug_vs2022.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Copyright (c) 2020 Mikael Simberg
# Copyright (c) 2024 The STE||AR Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
Expand Down Expand Up @@ -36,6 +37,8 @@ jobs:
-DHPX_WITH_DEPRECATION_WARNINGS=OFF \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
-DHPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=ON \
-DHPX_WITH_VERIFY_LOCKS=ON \
-DHPX_WITH_VERIFY_LOCKS_BACKTRACE=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On
- name: Build
shell: bash
Expand Down
Loading
Loading