Skip to content

Commit c0b7faf

Browse files
authored
Merge pull request STEllAR-GROUP#6693 from akheir/master
Adding llvm/19 and 20 and cmake/4 Jenkins
2 parents d807a03 + 3916571 commit c0b7faf

File tree

27 files changed

+466
-85
lines changed

27 files changed

+466
-85
lines changed

.jenkins/lsu/Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ pipeline {
3737
axes {
3838
axis {
3939
name 'configuration_name'
40-
values 'gcc-11', 'gcc-12', 'gcc-13', 'gcc-14', 'clang-17-apex', 'clang-16', 'clang-17', 'clang-18', 'gcc-12-cuda-12', 'gcc-12-cuda-12-dgx', 'hipcc'
40+
values 'gcc-11', 'gcc-12', 'gcc-13', 'gcc-14', 'clang-17-apex', 'clang-16', 'clang-17', 'clang-18', 'clang-19', 'clang-20', 'gcc-12-cuda-12', 'gcc-12-cuda-12-dgx', 'hipcc'
4141
}
4242
axis {
4343
name 'build_type'

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

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

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

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

libs/core/algorithms/tests/unit/algorithms/all_of.cpp

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1-
// Copyright (c) 2014-2020 Hartmut Kaiser
1+
// Copyright (c) 2014-2025 Hartmut Kaiser
22
//
33
// SPDX-License-Identifier: BSL-1.0
44
// Distributed under the Boost Software License, Version 1.0. (See accompanying
55
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
66

7+
#include <hpx/config.hpp>
8+
9+
// CLang V19.1.1 ICE's while compiling this file
10+
#if !defined(HPX_CLANG_VERSION) || HPX_CLANG_VERSION != 190101
11+
712
#include <hpx/init.hpp>
813

914
#include <cstddef>
@@ -125,7 +130,7 @@ void all_of_bad_alloc_test()
125130
///////////////////////////////////////////////////////////////////////////////
126131
int hpx_main(hpx::program_options::variables_map& vm)
127132
{
128-
unsigned int seed = (unsigned int) std::time(nullptr);
133+
unsigned int seed = static_cast<unsigned int>(std::time(nullptr));
129134
if (vm.count("seed"))
130135
seed = vm["seed"].as<unsigned int>();
131136

@@ -148,7 +153,7 @@ int main(int argc, char* argv[])
148153
desc_commandline.add_options()("seed,s", value<unsigned int>(),
149154
"the random number generator seed to use for this run");
150155

151-
// By default this test should run on all available cores
156+
// By default, this test should run on all available cores
152157
std::vector<std::string> const cfg = {"hpx.os_threads=all"};
153158

154159
// Initialize and run HPX
@@ -161,3 +166,12 @@ int main(int argc, char* argv[])
161166

162167
return hpx::util::report_errors();
163168
}
169+
170+
#else
171+
172+
int main()
173+
{
174+
return 0;
175+
}
176+
177+
#endif

libs/core/algorithms/tests/unit/algorithms/any_of.cpp

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1-
// Copyright (c) 2014-2020 Hartmut Kaiser
1+
// Copyright (c) 2014-2025 Hartmut Kaiser
22
//
33
// SPDX-License-Identifier: BSL-1.0
44
// Distributed under the Boost Software License, Version 1.0. (See accompanying
55
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
66

7+
#include <hpx/config.hpp>
8+
9+
// CLang V19.1.1 ICE's while compiling this file
10+
#if !defined(HPX_CLANG_VERSION) || HPX_CLANG_VERSION != 190101
11+
712
#include <hpx/init.hpp>
813

914
#include <cstddef>
@@ -123,8 +128,15 @@ void any_of_bad_alloc_test()
123128
}
124129

125130
///////////////////////////////////////////////////////////////////////////////
126-
int hpx_main()
131+
int hpx_main(hpx::program_options::variables_map& vm)
127132
{
133+
unsigned int seed = static_cast<unsigned int>(std::time(nullptr));
134+
if (vm.count("seed"))
135+
seed = vm["seed"].as<unsigned int>();
136+
137+
std::cout << "using seed: " << seed << std::endl;
138+
std::srand(seed);
139+
128140
any_of_test();
129141
any_of_exception_test();
130142
any_of_bad_alloc_test();
@@ -138,7 +150,7 @@ int main(int argc, char* argv[])
138150
options_description desc_commandline(
139151
"Usage: " HPX_APPLICATION_STRING " [options]");
140152

141-
// By default this test should run on all available cores
153+
// By default, this test should run on all available cores
142154
std::vector<std::string> const cfg = {"hpx.os_threads=all"};
143155

144156
// Initialize and run HPX
@@ -151,3 +163,12 @@ int main(int argc, char* argv[])
151163

152164
return hpx::util::report_errors();
153165
}
166+
167+
#else
168+
169+
int main()
170+
{
171+
return 0;
172+
}
173+
174+
#endif

libs/core/algorithms/tests/unit/algorithms/none_of.cpp

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1-
// Copyright (c) 2014-2020 Hartmut Kaiser
1+
// Copyright (c) 2014-2025 Hartmut Kaiser
22
//
33
// SPDX-License-Identifier: BSL-1.0
44
// Distributed under the Boost Software License, Version 1.0. (See accompanying
55
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
66

7+
#include <hpx/config.hpp>
8+
9+
// CLang V19.1.1 ICE's while compiling this file
10+
#if !defined(HPX_CLANG_VERSION) || HPX_CLANG_VERSION != 190101
11+
712
#include <hpx/init.hpp>
813

914
#include <cstddef>
@@ -125,7 +130,7 @@ void none_of_bad_alloc_test()
125130
///////////////////////////////////////////////////////////////////////////////
126131
int hpx_main(hpx::program_options::variables_map& vm)
127132
{
128-
unsigned int seed = (unsigned int) std::time(nullptr);
133+
unsigned int seed = static_cast<unsigned int>(std::time(nullptr));
129134
if (vm.count("seed"))
130135
seed = vm["seed"].as<unsigned int>();
131136

@@ -147,7 +152,7 @@ int main(int argc, char* argv[])
147152

148153
desc_commandline.add_options()("seed,s", value<unsigned int>(),
149154
"the random number generator seed to use for this run");
150-
// By default this test should run on all available cores
155+
// By default, this test should run on all available cores
151156
std::vector<std::string> const cfg = {"hpx.os_threads=all"};
152157

153158
// Initialize and run HPX
@@ -160,3 +165,12 @@ int main(int argc, char* argv[])
160165

161166
return hpx::util::report_errors();
162167
}
168+
169+
#else
170+
171+
int main()
172+
{
173+
return 0;
174+
}
175+
176+
#endif

libs/core/algorithms/tests/unit/container_algorithms/all_of_range.cpp

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
// Copyright (c) 2014-2020 Hartmut Kaiser
1+
// Copyright (c) 2014-2025 Hartmut Kaiser
22
// 2017 Bruno Pitrus
33

44
// SPDX-License-Identifier: BSL-1.0
55
// Distributed under the Boost Software License, Version 1.0. (See accompanying
66
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
77

8+
#include <hpx/config.hpp>
9+
10+
// CLang V19.1.1 ICE's while compiling this file
11+
#if !defined(HPX_CLANG_VERSION) || HPX_CLANG_VERSION != 190101
12+
813
#include <hpx/algorithm.hpp>
914
#include <hpx/init.hpp>
1015
#include <hpx/modules/testing.hpp>
@@ -28,8 +33,10 @@ void test_all_of_seq(IteratorTag, Proj proj = Proj())
2833
std::vector<std::size_t> c =
2934
test::fill_all_any_none(10007, i); //-V106
3035

31-
bool result = hpx::ranges::all_of(
32-
c, [](std::size_t v) { return v != 0; }, proj);
36+
// clang-format off
37+
bool result =
38+
hpx::ranges::all_of(c, [](std::size_t v) { return v != 0; }, proj);
39+
// clang-format on
3340

3441
// verify values
3542
bool expected = std::all_of(std::begin(c), std::end(c),
@@ -367,7 +374,7 @@ void all_of_bad_alloc_test()
367374
///////////////////////////////////////////////////////////////////////////////
368375
int hpx_main(hpx::program_options::variables_map& vm)
369376
{
370-
unsigned int seed = (unsigned int) std::time(nullptr);
377+
unsigned int seed = static_cast<unsigned int>(std::time(nullptr));
371378
if (vm.count("seed"))
372379
seed = vm["seed"].as<unsigned int>();
373380

@@ -390,7 +397,7 @@ int main(int argc, char* argv[])
390397
desc_commandline.add_options()("seed,s", value<unsigned int>(),
391398
"the random number generator seed to use for this run");
392399

393-
// By default this test should run on all available cores
400+
// By default, this test should run on all available cores
394401
std::vector<std::string> const cfg = {"hpx.os_threads=all"};
395402

396403
// Initialize and run HPX
@@ -403,3 +410,12 @@ int main(int argc, char* argv[])
403410

404411
return hpx::util::report_errors();
405412
}
413+
414+
#else
415+
416+
int main()
417+
{
418+
return 0;
419+
}
420+
421+
#endif

libs/core/algorithms/tests/unit/container_algorithms/any_of_range.cpp

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
// Copyright (c) 2014-2020 Hartmut Kaiser
1+
// Copyright (c) 2014-2025 Hartmut Kaiser
22
// 2017 Bruno Pitrus
33

44
// SPDX-License-Identifier: BSL-1.0
55
// Distributed under the Boost Software License, Version 1.0. (See accompanying
66
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
77

8+
#include <hpx/config.hpp>
9+
10+
// CLang V19.1.1 ICE's while compiling this file
11+
#if !defined(HPX_CLANG_VERSION) || HPX_CLANG_VERSION != 190101
12+
813
#include <hpx/algorithm.hpp>
914
#include <hpx/init.hpp>
1015
#include <hpx/modules/testing.hpp>
@@ -28,8 +33,10 @@ void test_any_of_seq(IteratorTag, Proj proj = Proj())
2833
std::vector<std::size_t> c =
2934
test::fill_all_any_none(10007, i); //-V106
3035

31-
bool result = hpx::ranges::any_of(
32-
c, [](std::size_t v) { return v != 0; }, proj);
36+
// clang-format off
37+
bool result =
38+
hpx::ranges::any_of(c, [](std::size_t v) { return v != 0; }, proj);
39+
// clang-format on
3340

3441
// verify values
3542
bool expected = std::any_of(std::begin(c), std::end(c),
@@ -367,7 +374,7 @@ void any_of_bad_alloc_test()
367374
///////////////////////////////////////////////////////////////////////////////
368375
int hpx_main(hpx::program_options::variables_map& vm)
369376
{
370-
unsigned int seed = (unsigned int) std::time(nullptr);
377+
unsigned int seed = static_cast<unsigned int>(std::time(nullptr));
371378
if (vm.count("seed"))
372379
seed = vm["seed"].as<unsigned int>();
373380

@@ -390,7 +397,7 @@ int main(int argc, char* argv[])
390397
desc_commandline.add_options()("seed,s", value<unsigned int>(),
391398
"the random number generator seed to use for this run");
392399

393-
// By default this test should run on all available cores
400+
// By default, this test should run on all available cores
394401
std::vector<std::string> const cfg = {"hpx.os_threads=all"};
395402

396403
// Initialize and run HPX
@@ -403,3 +410,12 @@ int main(int argc, char* argv[])
403410

404411
return hpx::util::report_errors();
405412
}
413+
414+
#else
415+
416+
int main()
417+
{
418+
return 0;
419+
}
420+
421+
#endif

0 commit comments

Comments
 (0)