Skip to content

Commit ca2b966

Browse files
authored
Merge pull request #6254 from STEllAR-GROUP/release-1.9.1
Preparing V1.9.1 release
2 parents e6d0ded + bf05f03 commit ca2b966

File tree

1,003 files changed

+7559
-5471
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,003 files changed

+7559
-5471
lines changed

.circleci/config.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ jobs:
568568
command: |
569569
ulimit -c unlimited
570570
ctest \
571-
--timeout 180 \
571+
--timeout 270 \
572572
-T test \
573573
--no-compress-output \
574574
--output-on-failure \

.clang-tidy

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Checks: >
1111
-bugprone-exception-escape,
1212
-bugprone-forward-declaration-namespace,
1313
-bugprone-macro-parentheses,
14+
-bugprone-branch-clone,
1415
modernize-use-nullptr,
1516
misc-assert-side-effect
1617
misc-dangling-handle

.cmake-format.py

+1
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@
352352
'nargs': '1+'}},
353353
'add_hpx_module': { 'kwargs': { 'CMAKE_SUBDIRS': '+',
354354
'COMPAT_HEADERS': '+',
355+
'GENERATED_HEADERS': '+',
355356
'DEPENDENCIES': '+',
356357
'EXCLUDE_FROM_GLOBAL_HEADER': '+',
357358
'ADD_TO_GLOBAL_HEADER': '+',
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Copyright (c) 2023 The STE||AR-Group
2+
#
3+
# SPDX-License-Identifier: BSL-1.0
4+
# Distributed under the Boost Software License, Version 1.0. (See accompanying
5+
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
7+
name: Windows CI (Release, gcc/mingw toolset)
8+
9+
on: [pull_request]
10+
11+
jobs:
12+
build:
13+
runs-on: windows-latest
14+
15+
steps:
16+
- uses: actions/checkout@v3
17+
- uses: jwlawson/[email protected]
18+
with:
19+
cmake-version: '3.22.x'
20+
- name: Install dependencies
21+
run: |
22+
choco install ninja -y
23+
md C:\projects
24+
$client = new-object System.Net.WebClient
25+
$client.DownloadFile("https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.7z","C:\projects\boost_1_78_0.7z")
26+
7z x C:\projects\boost_1_78_0.7z -y -oC:\projects\boost
27+
cd C:\projects\boost\boost_1_78_0
28+
.\bootstrap.bat gcc
29+
.\b2.exe `
30+
link=shared `
31+
variant=release `
32+
architecture=x86 `
33+
address-model=64 `
34+
threading=multi `
35+
--with-iostreams `
36+
--build-type=complete `
37+
install
38+
$client.DownloadFile("https://download.open-mpi.org/release/hwloc/v2.8/hwloc-win64-build-2.8.0.zip","C:\projects\hwloc-win64-build-2.8.0.zip")
39+
7z x C:\projects\hwloc-win64-build-2.8.0.zip -y -oC:\projects
40+
- name: Configure
41+
shell: bash
42+
run: |
43+
cmake . -Bbuild -G'Ninja' \
44+
-DCMAKE_BUILD_TYPE=Release \
45+
-DCMAKE_CXX_COMPILER=g++ \
46+
-DBOOST_ROOT="C:\Boost" \
47+
-DHWLOC_ROOT="C:\projects\hwloc-win64-build-2.8.0" \
48+
-DHPX_WITH_CXX_STANDARD=20 \
49+
-DHPX_WITH_STATIC_LINKING=ON \
50+
-DHPX_WITH_MALLOC=system \
51+
-DHPX_WITH_FETCH_ASIO=ON \
52+
-DHPX_WITH_PKGCONFIG=OFF \
53+
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
54+
-DHPX_WITH_EXAMPLES=ON \
55+
-DHPX_WITH_TESTS=ON \
56+
-DHPX_WITH_TESTS_UNIT=ON \
57+
-DHPX_WITH_DEPRECATION_WARNINGS=OFF \
58+
-DHPX_WITH_MODULES_AS_STATIC_LIBRARIES=OFF
59+
- name: Build
60+
shell: bash
61+
run: |
62+
cmake --build build --config Release -- -j 2

.jenkins/lsu/Jenkinsfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ pipeline {
3535
axes {
3636
axis {
3737
name 'configuration_name'
38-
values 'gcc-9', 'gcc-10', 'gcc-11', 'gcc-12', 'clang-11', 'clang-12', 'clang-13', 'clang-14', 'gcc-10-cuda-11', 'hipcc'
38+
values 'gcc-9', 'gcc-10', 'gcc-11', 'gcc-12', 'clang-11', 'clang-12', 'clang-13', 'clang-14', 'gcc-10-cuda-11', 'gcc-12-cuda-12-dgx', 'hipcc'
39+
values 'gcc-10', 'gcc-11', 'gcc-12', 'gcc-13', 'clang-12', 'clang-13', 'clang-14', 'clang-15', 'gcc-10-cuda-11', 'gcc-12-cuda-12-dgx', 'hipcc'
3940
}
4041
axis {
4142
name 'build_type'

.jenkins/lsu/batch.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ ulimit -l unlimited
2121

2222
set +e
2323
ctest \
24-
--verbose \
24+
${ctest_extra_args} \
2525
-S ${src_dir}/.jenkins/lsu/ctest.cmake \
2626
-DCTEST_CONFIGURE_EXTRA_OPTIONS="${configure_extra_options}" \
2727
-DCTEST_BUILD_CONFIGURATION_NAME="${configuration_name_with_build_type}" \

.jenkins/lsu/entry.sh

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ sbatch \
4646
--job-name="${job_name}" \
4747
--nodes="${configuration_slurm_num_nodes}" \
4848
--partition="${configuration_slurm_partition}" \
49+
--exclude="bahram" \
4950
--time="03:00:00" \
5051
--output="jenkins-hpx-${configuration_name_with_build_type}.out" \
5152
--error="jenkins-hpx-${configuration_name_with_build_type}.err" \

.jenkins/lsu/env-clang-15.sh

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Copyright (c) 2020 ETH Zurich
2+
#
3+
# SPDX-License-Identifier: BSL-1.0
4+
# Distributed under the Boost Software License, Version 1.0. (See accompanying
5+
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
7+
module purge
8+
module load cmake
9+
module load llvm/15
10+
module load boost/1.82.0-${build_type,,}
11+
module load hwloc
12+
module load openmpi
13+
module load pwrapi/1.1.1
14+
15+
export HPXRUN_RUNWRAPPER=srun
16+
export CXX_STD="20"
17+
18+
configure_extra_options+=" -DCMAKE_BUILD_TYPE=${build_type}"
19+
configure_extra_options+=" -DHPX_WITH_CXX_STANDARD=${CXX_STD}"
20+
configure_extra_options+=" -DHPX_WITH_MALLOC=system"
21+
configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON"
22+
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON"
23+
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
24+
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
25+
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
26+
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
27+
configure_extra_options+=" -DHPX_WITH_LOGGING=OFF"
28+
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE"
29+
configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON"
30+
31+
# The pwrapi library still needs to be set up properly on rostam
32+
# configure_extra_options+=" -DHPX_WITH_POWER_COUNTER=ON"
33+
34+
# Make sure HWLOC does not report 'cores'. This is purely an option to enable
35+
# testing the topology code under conditions close to those on FreeBSD.
36+
configure_extra_options+=" -DHPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=ON"

.jenkins/lsu/env-common.sh

+2
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@ if [ "${build_type}" = "Debug" ]; then
1111
configure_extra_options+=" -DLCI_DEBUG=ON"
1212
fi
1313

14+
ctest_extra_args+=" --verbose "
15+
1416
hostname
1517
module avail

.jenkins/lsu/env-gcc-10-cuda-11.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ configure_extra_options+=" -DHPX_WITH_CUDA=ON"
2323
configure_extra_options+=" -DHPX_WITH_NETWORKING=OFF"
2424
configure_extra_options+=" -DHPX_WITH_DISTRIBUTED_RUNTIME=OFF"
2525
configure_extra_options+=" -DHPX_WITH_ASYNC_MPI=ON"
26-
configure_extra_options+=" -DCMAKE_CUDA_ARCHITECTURES='37;70'"
26+
configure_extra_options+=" -DCMAKE_CUDA_ARCHITECTURES='70;80'"

.jenkins/lsu/env-gcc-11.sh

+1-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ configure_extra_options+=" -DHPX_WITH_MALLOC=system"
2020
configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON"
2121
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON"
2222
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
23-
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
24-
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
25-
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
23+
configure_extra_options+=" -DHPX_WITH_NETWORKING=OFF"
2624
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=STD_EXPERIMENTAL_SIMD"
2725

2826
# The pwrapi library still needs to be set up properly on rostam

.jenkins/lsu/env-gcc-13.sh

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2020 ETH Zurich
2+
#
3+
# SPDX-License-Identifier: BSL-1.0
4+
# Distributed under the Boost Software License, Version 1.0. (See accompanying
5+
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
7+
module purge
8+
module load cmake
9+
module load gcc/13
10+
module load boost/1.82.0-${build_type,,}
11+
module load hwloc
12+
module load openmpi
13+
module load pwrapi/1.1.1
14+
15+
export HPXRUN_RUNWRAPPER=srun
16+
export CXX_STD="20"
17+
18+
configure_extra_options+=" -DHPX_WITH_CXX_STANDARD=${CXX_STD}"
19+
configure_extra_options+=" -DHPX_WITH_MALLOC=system"
20+
configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON"
21+
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON"
22+
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
23+
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
24+
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
25+
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
26+
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE"
27+
configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON"
28+
configure_extra_options+=" -DHPX_WITH_EVE_TAG=main"
29+
30+
# The pwrapi library still needs to be set up properly on rostam
31+
# configure_extra_options+=" -DHPX_WITH_POWER_COUNTER=ON"

.jenkins/lsu/env-hipcc.sh

+3-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@ configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON"
1717
configure_extra_options+=" -DHPX_WITH_MAX_CPU_COUNT=128"
1818
configure_extra_options+=" -DHPX_WITH_DEPRECATION_WARNINGS=OFF"
1919
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON"
20-
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
20+
configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=OFF"
21+
22+
ctest_extra_args+=" -E tests.unit.modules.algorithms.detail "
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (c) 2020 ETH Zurich
2+
#
3+
# SPDX-License-Identifier: BSL-1.0
4+
# Distributed under the Boost Software License, Version 1.0. (See accompanying
5+
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
7+
configuration_slurm_partition="jenkins-compute"
8+
configuration_slurm_num_nodes="1"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (c) 2020 ETH Zurich
2+
#
3+
# SPDX-License-Identifier: BSL-1.0
4+
# Distributed under the Boost Software License, Version 1.0. (See accompanying
5+
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
7+
configuration_slurm_partition="jenkins-compute"
8+
configuration_slurm_num_nodes="1"

CMakeLists.txt

+25-11
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ endif()
5959
# ##############################################################################
6060
set(HPX_VERSION_MAJOR 1)
6161
set(HPX_VERSION_MINOR 9)
62-
set(HPX_VERSION_SUBMINOR 0)
62+
set(HPX_VERSION_SUBMINOR 1)
6363
set(HPX_VERSION_DATE 20230502)
64-
set(HPX_VERSION_TAG "")
64+
set(HPX_VERSION_TAG "-rc1")
6565

6666
set(HPX_VERSION
6767
"${HPX_VERSION_MAJOR}.${HPX_VERSION_MINOR}.${HPX_VERSION_SUBMINOR}"
@@ -110,7 +110,7 @@ if(NOT HPX_CMAKE_LOGLEVEL)
110110
endif()
111111

112112
# print initial diagnostics
113-
hpx_info("CMake version: ${CMAKE_VERSION}")
113+
hpx_info("CMake version: ${CMAKE_VERSION}, generator: ${CMAKE_GENERATOR}")
114114
hpx_info("HPX version: ${HPX_VERSION}")
115115

116116
# ##############################################################################
@@ -373,9 +373,9 @@ endif()
373373
# The cmake Ninja generator runs out of memory if the modules are being built as
374374
# OBJECT libraries. In this case the fallback is to build whole-archive STATIC
375375
# libraries.
376-
set(HPX_WITH_MODULES_AS_STATIC_LIBRARIES_DEFAULT ON)
377-
if("${CMAKE_MAKE_PROGRAM}" STREQUAL "ninja")
378-
set(HPX_WITH_MODULES_AS_STATIC_LIBRARIES_DEFAULT OFF)
376+
set(HPX_WITH_MODULES_AS_STATIC_LIBRARIES_DEFAULT OFF)
377+
if("${CMAKE_GENERATOR}" STREQUAL "Ninja")
378+
set(HPX_WITH_MODULES_AS_STATIC_LIBRARIES_DEFAULT ON)
379379
endif()
380380

381381
hpx_option(
@@ -655,8 +655,8 @@ endif()
655655
hpx_option(
656656
HPX_WITH_ZERO_COPY_SERIALIZATION_THRESHOLD
657657
STRING
658-
"The threshold in bytes to when perform zero copy optimizations (default: 128)"
659-
"128"
658+
"The threshold in bytes to when perform zero copy optimizations (default: 8192)"
659+
"8192"
660660
ADVANCED
661661
)
662662
hpx_add_config_define(
@@ -1138,7 +1138,7 @@ if(HPX_WITH_NETWORKING)
11381138
ADVANCED
11391139
)
11401140
hpx_option(
1141-
HPX_WITH_LCI_TAG STRING "LCI repository tag or branch" "v1.7.4"
1141+
HPX_WITH_LCI_TAG STRING "LCI repository tag or branch" "v1.7.5"
11421142
CATEGORY "Build Targets"
11431143
ADVANCED
11441144
)
@@ -1754,6 +1754,12 @@ if(WIN32)
17541754
hpx_add_target_compile_option(-MP PUBLIC)
17551755
# Increase the maximum size of object file sections
17561756
hpx_add_target_compile_option(-bigobj PUBLIC)
1757+
elseif(MINGW)
1758+
if(HPX_CXX11_STD_ATOMIC_LIBRARIES)
1759+
target_link_libraries(
1760+
hpx_base_libraries INTERFACE ${HPX_CXX11_STD_ATOMIC_LIBRARIES}
1761+
)
1762+
endif()
17571763
endif()
17581764

17591765
target_link_libraries(hpx_base_libraries INTERFACE psapi shlwapi)
@@ -1834,8 +1840,6 @@ if(HPX_WITH_COMPILER_WARNINGS)
18341840

18351841
else() # Trial and error approach for any other compiler ...
18361842
hpx_add_compile_flag_if_available(-Wall)
1837-
hpx_add_compile_flag_if_available(-Wextra)
1838-
hpx_add_compile_flag_if_available(-Wpedantic)
18391843
hpx_add_compile_flag_if_available(-Wno-strict-aliasing)
18401844
hpx_add_compile_flag_if_available(-Wno-sign-promo)
18411845
hpx_add_compile_flag_if_available(-Wno-attributes)
@@ -1848,6 +1852,16 @@ if(HPX_WITH_COMPILER_WARNINGS)
18481852
# caused by the use of std::destructive_interference_size
18491853
hpx_add_compile_flag_if_available(-Wno-interference-size)
18501854
endif()
1855+
if("${CMAKE_CXX_COMPILER_VERSION}" VERSION_GREATER_EQUAL "13.0")
1856+
# gcc V13.x is overeager to report dangling references where there are
1857+
# none
1858+
hpx_add_compile_flag_if_available(-Wextra)
1859+
hpx_add_compile_flag_if_available(-Wpedantic)
1860+
hpx_add_compile_flag_if_available(-Wno-self-move)
1861+
endif()
1862+
else()
1863+
hpx_add_compile_flag_if_available(-Wextra)
1864+
hpx_add_compile_flag_if_available(-Wpedantic)
18511865
endif()
18521866

18531867
# We do not in general guarantee ABI compatibility between C++ standards, so

cmake/HPX_AddConfigTest.cmake

+32-4
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,15 @@ function(hpx_check_for_cxx11_std_atomic)
278278
unset(HPX_CXX11_STD_ATOMIC_LIBRARIES CACHE)
279279
endif()
280280

281+
# we shouldn't delete this key if the user has pre-set the atomic libraries to
282+
# use
283+
if(HPX_CXX11_STD_ATOMIC_LIBRARIES)
284+
set(__std_atomic_libraries
285+
TRUE
286+
CACHE STRING "std::atomics need separate library" FORCE
287+
)
288+
endif()
289+
281290
# first see if we can build atomics with no -latomics
282291
add_hpx_config_test(
283292
HPX_WITH_CXX11_ATOMIC
@@ -301,12 +310,18 @@ function(hpx_check_for_cxx11_std_atomic)
301310
LIBRARIES ${HPX_CXX11_STD_ATOMIC_LIBRARIES}
302311
FILE ${ARGN}
303312
)
304-
if(NOT HPX_WITH_CXX11_ATOMIC)
305-
unset(HPX_CXX11_STD_ATOMIC_LIBRARIES CACHE)
306-
unset(HPX_WITH_CXX11_ATOMIC CACHE)
313+
if(HPX_WITH_CXX11_ATOMIC)
314+
set(__std_atomic_libraries
315+
TRUE
316+
CACHE STRING "std::atomics need separate library" FORCE
317+
)
307318
endif()
308319
endif()
309320
endif()
321+
322+
if(NOT HPX_WITH_CXX11_ATOMIC)
323+
hpx_error("HPX needs support for C++11 std::atomic")
324+
endif()
310325
endfunction()
311326

312327
# Separately check for 128 bit atomics
@@ -334,11 +349,15 @@ function(hpx_check_for_cxx11_std_atomic_128bit)
334349
)
335350
if(NOT HPX_WITH_CXX11_ATOMIC_128BIT)
336351
# Adding -latomic did not help, so we don't attempt to link to it later
337-
unset(HPX_CXX11_STD_ATOMIC_LIBRARIES CACHE)
352+
# but only if normal atomics don't require it
353+
if(NOT __std_atomic_libraries)
354+
unset(HPX_CXX11_STD_ATOMIC_LIBRARIES CACHE)
355+
endif()
338356
unset(HPX_WITH_CXX11_ATOMIC_128BIT CACHE)
339357
endif()
340358
endif()
341359
endif()
360+
unset(__std_atomic_libraries CACHE)
342361
endfunction()
343362

344363
# ##############################################################################
@@ -350,6 +369,15 @@ function(hpx_check_for_cxx11_std_shared_ptr_lwg3018)
350369
)
351370
endfunction()
352371

372+
# ##############################################################################
373+
function(hpx_check_for_cxx14_delete_operator_with_size)
374+
add_hpx_config_test(
375+
HPX_WITH_CXX14_DELETE_OPERATOR_WITH_SIZE
376+
SOURCE cmake/tests/cxx_14_delete_operator_with_size.cpp
377+
FILE ${ARGN}
378+
)
379+
endfunction()
380+
353381
# ##############################################################################
354382
function(hpx_check_for_c11_aligned_alloc)
355383
add_hpx_config_test(

0 commit comments

Comments
 (0)