Skip to content

Commit

Permalink
Merge branch 'STEllAR-GROUP:master' into gasnet_documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
ct-clmsn authored Feb 7, 2024
2 parents b04a509 + 76bcb86 commit 7c56d8f
Show file tree
Hide file tree
Showing 522 changed files with 13,149 additions and 7,499 deletions.
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ jobs:
- run:
name: Building Unit Tests (Segmented Algorithms)
command: |
ninja -j2 -k 0 tests.unit.modules.segmented_algorithms
ninja -j1 -k 0 tests.unit.modules.segmented_algorithms
- run:
name: Running Unit Tests
when: always
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/linux_debug_fetch_hwloc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Copyright (c) 2024 Vedant Nimje
#
# 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)

name: Linux CI (Debug) with HWLoc fetch

on: [pull_request]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Install Boost
run: sudo apt install libboost-all-dev ninja-build

- name: Configure
shell: bash
run: |
cmake \
. \
-Bbuild \
-GNinja \
-DCMAKE_BUILD_TYPE=Debug \
-DHPX_WITH_MALLOC=system \
-DHPX_WITH_FETCH_ASIO=ON \
-DHPX_WITH_FETCH_HWLOC=ON \
-DHPX_WITH_EXAMPLES=ON \
-DHPX_WITH_TESTS=ON \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On
- name: Build
shell: bash
run: |
cmake --build build --target all
cmake --build build --target examples
- name: Test
shell: bash
run: |
cd build
ctest \
--output-on-failure \
--tests-regex tests.examples \
--exclude-regex tests.examples.transpose.transpose_block_numa
1 change: 1 addition & 0 deletions .github/workflows/linux_release_static.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,5 @@ jobs:
--output-on-failure \
--tests-regex tests.examples \
--exclude-regex tests.examples.transpose.transpose_block_numa \
--exclude-regex tests.examples.quickstart.hello_world_1 \
--exclude-regex tests.examples.quickstart.distributed.tcp.custom_serialization
81 changes: 81 additions & 0 deletions .github/workflows/macos_debug_fetch_hwloc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Copyright (c) 2024 Vedant Nimje
#
# 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)

name: macOS CI (Debug) with HWLoc fetch

on: [pull_request]

jobs:
build:
runs-on: macos-latest

steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
# Workaround for https://github.com/actions/virtual-environments/issues/2322
rm -rf /usr/local/bin/2to3*
rm -rf /usr/local/bin/idle3*
rm -rf /usr/local/bin/pydoc3*
rm -rf /usr/local/bin/python3*
brew upgrade
brew update && \
brew install --overwrite python-tk && \
brew install --overwrite boost gperftools ninja && \
brew upgrade cmake
- name: Configure
shell: bash
run: |
cmake \
-H. \
-Bbuild \
-GNinja \
-DCMAKE_BUILD_TYPE=Debug \
-DHPX_WITH_FETCH_ASIO=ON \
-DHPX_WITH_FETCH_HWLOC=ON \
-DHPX_WITH_EXAMPLES=ON \
-DHPX_WITH_TESTS=ON \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=3 \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=ON
- name: Build
shell: bash
run: |
cmake --build build --target all
cmake --build build --target tests
- name: Test
shell: bash
run: |
cd build
ctest --output-on-failure \
--exclude-regex \
"tests.examples.quickstart.1d_wave_equation|\
tests.examples.transpose.transpose_block_numa|\
tests.performance.local.wait_all_timings|\
tests.regressions.components.distributed.tcp.bulk_new_3054|\
tests.regressions.dynamic_counters_loaded_1508|\
tests.regressions.lcos.wait_all_hang_1946|\
tests.regressions.modules.async_combinators.wait_all_hang_1946|\
tests.regressions.modules.collectives.distributed.tcp.broadcast_apply|\
tests.regressions.modules.collectives.distributed.tcp.broadcast_unwrap_future_2885|\
tests.regressions.modules.collectives.distributed.tcp.remote_latch|\
tests.regressions.modules.compute_local.parallel_fill_4132|\
tests.regressions.util.distributed.tcp.zero_copy_parcels_1001_no_zero_copy_optimization|\
tests.regressions.modules.performance_counters.dynamic_counters_loaded_1508|\
tests.regressions.modules.performance_counters.statistics_2666|\
tests.unit.modules.runtime_components.distributed.tcp.migrate_component|\
tests.unit.modules.runtime_components.distributed.tcp.migrate_polymorphic_component|\
tests.unit.modules.algorithms.default_construct|\
tests.unit.modules.algorithms.destroy|\
tests.unit.modules.algorithms.foreach_executors|\
tests.unit.modules.algorithms.max_element|\
tests.unit.modules.algorithms.replace_copy_if|\
tests.unit.modules.compute_local.numa_allocator|\
tests.unit.modules.execution.standalone_thread_pool_executor|\
tests.unit.modules.resource_partitioner.used_pus|\
tests.unit.modules.segmented_algorithms.distributed.tcp.partitioned_vector|\
tests.unit.threads.distributed.tcp.thread_stacksize|\
tests.unit.topology.numa_allocator|\
tests.unit.modules.runtime_components.distributed.tcp.migrate_polymorphic_component"
61 changes: 61 additions & 0 deletions .github/workflows/windows_debug_vs2022_fetch_hwloc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Copyright (c) 2024 Vedant Nimje
#
# 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)

name: Windows CI (Debug, VS2022 toolset) with HWLoc fetch

on: [pull_request]

jobs:
build:
runs-on: windows-latest

steps:
- uses: actions/checkout@v4
- uses: jwlawson/[email protected]
with:
cmake-version: '3.22.x'
- name: Install dependencies
run: |
md C:\projects
$client = new-object System.Net.WebClient
$client.DownloadFile("https://rostam.cct.lsu.edu/download/builder/vcpkg-export-hpx-dependencies-2022.7z","C:\projects\vcpkg-export-hpx-dependencies.7z")
7z x C:\projects\vcpkg-export-hpx-dependencies.7z -y -oC:\projects\vcpkg
- name: Configure
shell: bash
run: |
cmake . -Bbuild -G'Visual Studio 17 2022' \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_TOOLCHAIN_FILE='C:/projects/vcpkg/scripts/buildsystems/vcpkg.cmake' \
-DHPX_WITH_FETCH_ASIO=ON \
-DHPX_WITH_FETCH_HWLOC=ON \
-DHPX_WITH_EXAMPLES=ON \
-DHPX_WITH_TESTS=ON \
-DHPX_WITH_TESTS_UNIT=ON \
-DHPX_WITH_DEPRECATION_WARNINGS=OFF \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
-DHPX_COROUTINES_WITH_SWAP_CONTEXT_EMULATION=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On
- name: Build
shell: bash
run: |
cmake --build build --config Debug \
--target ALL_BUILD \
-- -maxcpucount:2 -verbosity:minimal -nologo
- name: Install
shell: bash
run: |
cmake --install build --config Debug
- name: Test
run: |
Set-Alias -Name grep -Value 'C:\Program Files\Git\usr\bin\grep.exe'
Set-Alias -Name sed -Value 'C:\Program Files\Git\usr\bin\sed.exe'
cd build
ctest `
--output-on-failure `
--build-config Debug `
--tests-regex tests.examples `
--exclude-regex `
$(grep -v -e ^# -e ^$ D:/a/hpx/hpx/.github/workflows/tests.examples.targets | sed ':b;N;$!bb;s/\n/|/g')
2 changes: 1 addition & 1 deletion .github/workflows/windows_release_gcc_mingw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
choco install ninja -y
md C:\projects
$client = new-object System.Net.WebClient
$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")
$client.DownloadFile("https://master.dl.sourceforge.net/project/boost/boost/1.78.0/boost_1_78_0.7z","C:\projects\boost_1_78_0.7z")
7z x C:\projects\boost_1_78_0.7z -y -oC:\projects\boost
cd C:\projects\boost\boost_1_78_0
.\bootstrap.bat gcc
Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-clang-12.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=clang"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"
configure_extra_options+=" -DHPX_WITH_LOGGING=OFF"

# The pwrapi library still needs to be set up properly on rostam
Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-clang-13.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=clang"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"
configure_extra_options+=" -DHPX_WITH_LOGGING=OFF"
configure_extra_options+=" -DHPX_WITH_TESTS_COMMAND_LINE=--hpx:queuing=local-workrequesting-fifo"

Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-clang-14.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=clang"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"
configure_extra_options+=" -DHPX_WITH_LOGGING=OFF"
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE"
configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON"
Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-clang-15.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=clang"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"
configure_extra_options+=" -DHPX_WITH_LOGGING=OFF"
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE"
configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON"
Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-clang-16.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=clang"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"
configure_extra_options+=" -DHPX_WITH_LOGGING=OFF"
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE"
configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON"
Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-clang-17.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=clang"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"
configure_extra_options+=" -DHPX_WITH_LOGGING=OFF"
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE"
configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON"
Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-gcc-10.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=gcc"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"

# The pwrapi library still needs to be set up properly on rostam
# configure_extra_options+=" -DHPX_WITH_POWER_COUNTER=ON"
Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-gcc-12.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=gcc"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE"
configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON"
configure_extra_options+=" -DHPX_WITH_EVE_TAG=main"
Expand Down
3 changes: 0 additions & 3 deletions .jenkins/lsu/env-gcc-13.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,8 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET=ON"
configure_extra_options+=" -DHPX_WITH_FETCH_GASNET=ON"
configure_extra_options+=" -DCMAKE_C_COMPILER=gcc"
configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC"
configure_extra_options+=" -DHPX_WITH_PARCELPORT_GASNET_CONDUIT=smp"
configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE"
configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON"
configure_extra_options+=" -DHPX_WITH_EVE_TAG=main"
Expand Down
36 changes: 34 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright (c) 2020 Mikael Simberg
# Copyright (c) 2007-2023 Hartmut Kaiser
# Copyright (c) 2007-2024 Hartmut Kaiser
# Copyright (c) 2011-2014 Thomas Heller
# Copyright (c) 2007-2008 Chirag Dekate
# Copyright (c) 2011 Bryce Lelbach
Expand Down Expand Up @@ -89,7 +89,7 @@ hpx_set_cmake_policy(CMP0074 NEW)

# We save the passed compiler flag to a special variable. This is needed for our
# build system unit tests. Some flags might influence the created symbols
# (_GLIBCXX_DEBUG i look at you)
# (_GLIBCXX_DEBUG, I look at you)
set(CMAKE_CXX_FLAGS_SAFE ${CMAKE_CXX_FLAGS})
include(HPX_CheckCXXStandard)

Expand Down Expand Up @@ -980,6 +980,16 @@ hpx_option(
ADVANCED
)

# Option for automatically fetching Hwloc
hpx_option(
HPX_WITH_FETCH_HWLOC
BOOL
"Use FetchContent to fetch Hwloc. By default an installed Hwloc will be used. (default: OFF)"
OFF
CATEGORY "Build Targets"
ADVANCED
)

# cmake-format: off
# LibCDS option
# NOTE: The libcds option is disabled for the 1.5.0 release as it is not ready
Expand Down Expand Up @@ -1644,6 +1654,16 @@ hpx_option(
# ##############################################################################
# C++ feature tests
# ##############################################################################

# Sometimes we need to be able to explicitly disable supporting the
# [[no_unique_address]] attribute. This may be of use when mixing compilers, for
# instance.
hpx_option(
HPX_WITH_SUPPORT_NO_UNIQUE_ADDRESS_ATTRIBUTE BOOL
"Enable the use of the [[no_unique_address]] attribute (default: ON)" ON
ADVANCED
)

# Need to include the CUDA setup before the config test to enable the CUDA
# language
include(HPX_SetupCUDA)
Expand Down Expand Up @@ -2312,6 +2332,18 @@ endif()

if(HPX_WITH_EXAMPLES)
add_hpx_pseudo_target(examples)
if(HPX_WITH_FETCH_HWLOC AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
add_custom_target(
HwlocDLL ALL
COMMAND ${CMAKE_COMMAND} -E make_directory
"${CMAKE_BINARY_DIR}/$<CONFIG>/bin/"
COMMAND
${CMAKE_COMMAND} -E copy_if_different
"${HWLOC_ROOT}/bin/libhwloc-15.dll"
"${CMAKE_BINARY_DIR}/$<CONFIG>/bin/"
)
add_hpx_pseudo_dependencies(examples HwlocDLL)
endif()
endif()

# ##############################################################################
Expand Down
Loading

0 comments on commit 7c56d8f

Please sign in to comment.