Skip to content

Commit 348f4aa

Browse files
Merge pull request #343 from sandialabs/release-1.22-pre
Release 1.22
2 parents a4ac8ee + bf6c4d0 commit 348f4aa

File tree

276 files changed

+3074
-7182
lines changed

Some content is hidden

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

276 files changed

+3074
-7182
lines changed

Diff for: .circleci/config.yml

+239-46
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,26 @@ jobs:
1515
CC: gcc-14
1616
CXX: g++-14
1717
steps:
18-
- checkout
18+
- run: |
19+
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
20+
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
1921
- run: |
2022
sudo apt-add-repository -y universe
2123
sudo apt-get install -y gcc-14 g++-14
22-
sudo apt-get install -y autoconf automake libtool
24+
sudo apt-get install -y cmake
2325
sudo apt-get install -y hwloc libhwloc-dev
2426
- run: |
25-
./autogen.sh
26-
./configure --enable-picky --with-scheduler=<< parameters.scheduler >> --with-topology=<< parameters.topology >>
27-
make -j2
28-
make tests -j2
27+
mkdir build
28+
pushd build
29+
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=<< parameters.scheduler >> -DQTHREADS_TOPOLOGY=<< parameters.topology >> ..
30+
make -j2 VERBOSE=1
31+
popd
2932
- run:
30-
command: timeout --foreground -k 10s 2m make check
31-
no_output_timeout: 60s
33+
command: |
34+
pushd build
35+
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 2m make test VERBOSE=1
36+
popd
37+
no_output_timeout: 180s
3238

3339
arm_clang:
3440
parameters:
@@ -43,23 +49,29 @@ jobs:
4349
CC: clang-19
4450
CXX: clang++-19
4551
steps:
46-
- checkout
52+
- run: |
53+
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
54+
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
4755
- run: |
4856
sudo apt-add-repository -y universe
4957
sudo apt-get install -y gcc-14 g++-14
50-
sudo apt-get install -y autoconf automake libtool
58+
sudo apt-get install -y cmake
5159
sudo apt-get install -y hwloc libhwloc-dev
5260
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
5361
sudo apt-add-repository -y 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main'
5462
sudo apt-get install -y clang-19
5563
- run: |
56-
./autogen.sh
57-
./configure --enable-picky --with-scheduler=<< parameters.scheduler >> -with-topology=<< parameters.topology >>
58-
make -j2
59-
make tests -j2
64+
mkdir build
65+
pushd build
66+
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=<< parameters.scheduler >> -DQTHREADS_TOPOLOGY=<< parameters.topology >> ..
67+
make -j2 VERBOSE=1
68+
popd
6069
- run:
61-
command: timeout --foreground -k 10s 2m make check
62-
no_output_timeout: 60s
70+
command: |
71+
pushd build
72+
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 2m make test VERBOSE=1
73+
popd
74+
no_output_timeout: 180s
6375

6476
arm_sanitizers:
6577
parameters:
@@ -81,23 +93,29 @@ jobs:
8193
QTHREAD_STACK_SIZE: 524288
8294
ASAN_OPTIONS: "check_initialization_order=1"
8395
steps:
84-
- checkout
96+
- run: |
97+
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
98+
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
8599
- run: |
86100
sudo apt-add-repository -y universe
87101
sudo apt-get install -y gcc-14 g++-14
88-
sudo apt-get install -y autoconf automake libtool
102+
sudo apt-get install -y cmake
89103
sudo apt-get install -y hwloc libhwloc-dev
90104
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
91105
sudo apt-add-repository -y 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main'
92106
sudo apt-get install -y clang-19
93107
- run: |
94-
./autogen.sh
95-
./configure --enable-picky --with-scheduler=<< parameters.scheduler >> -with-topology=<< parameters.topology >>
96-
make -j2
97-
make tests -j2
108+
mkdir build
109+
pushd build
110+
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=<< parameters.scheduler >> -DQTHREADS_TOPOLOGY=<< parameters.topology >> ..
111+
make -j2 VERBOSE=1
112+
popd
98113
- run:
99-
command: timeout --foreground -k 10s 4m make check
100-
no_output_timeout: 120s
114+
command: |
115+
pushd build
116+
if [[ "<< parameters.sanitizer >>" == "thread" ]]; then cd test/basics; fi
117+
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 4m make test VERBOSE=1
118+
no_output_timeout: 180s
101119

102120
arm_acfl:
103121
parameters:
@@ -112,30 +130,85 @@ jobs:
112130
CC: armclang
113131
CXX: armclang++
114132
steps:
115-
- checkout
116133
- run: |
134+
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
135+
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
136+
- run: |
137+
# Set up apt to get a more recent CMake directly from Kitware.
138+
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
139+
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
117140
sudo apt-get update -y
118-
sudo apt-get install -y autoconf automake libtool
141+
sudo apt-get install -y cmake
119142
sudo apt-get install -y hwloc libhwloc-dev
120-
wget -O acfl.tar https://developer.arm.com/-/media/Files/downloads/hpc/arm-compiler-for-linux/24-04/arm-compiler-for-linux_24.04_Ubuntu-22.04_aarch64.tar
143+
wget -O acfl.tar https://developer.arm.com/-/cdn-downloads/permalink/Arm-Compiler-for-Linux/Version_24.10.1/arm-compiler-for-linux_24.10.1_Ubuntu-22.04_aarch64.tar
121144
tar -vxf acfl.tar
122-
./arm-compiler-for-linux_24.04_Ubuntu-22.04/arm-compiler-for-linux_24.04_Ubuntu-22.04.sh -a -f -s acfl
145+
ls
146+
ls arm-compiler-for-linux_24.10.1_Ubuntu-22.04
147+
./arm-compiler-for-linux_24.10.1_Ubuntu-22.04/arm-compiler-for-linux_24.10.1_Ubuntu-22.04.sh -a -f -s acfl
123148
rm acfl.tar
124-
sudo apt install -y ./acfl/gcc-13.2.0_Ubuntu-22.04.deb ./acfl/arm-linux-compiler-24.04_Ubuntu-22.04.deb
149+
ls acfl
150+
sudo apt install -y ./acfl/gcc-14.2.0_Ubuntu-22.04.deb ./acfl/arm-linux-compiler-24.10.1_Ubuntu-22.04.deb
125151
rm -rf acfl
126-
export PATH=$PATH:/opt/arm/arm-linux-compiler-24.04_Ubuntu-22.04/bin
152+
export PATH=$PATH:/opt/arm/arm-linux-compiler-24.10.1_Ubuntu-22.04/bin
127153
armclang -v
128154
- run: |
129-
export PATH=$PATH:/opt/arm/arm-linux-compiler-24.04_Ubuntu-22.04/bin
130-
./autogen.sh
131-
./configure --enable-picky --with-scheduler=<< parameters.scheduler >> -with-topology=<< parameters.topology >>
132-
make -j2
133-
make tests -j2
155+
export PATH=$PATH:/opt/arm/arm-linux-compiler-24.10.1_Ubuntu-22.04/bin
156+
mkdir build
157+
pushd build
158+
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=<< parameters.scheduler >> -DQTHREADS_TOPOLOGY=<< parameters.topology >> ..
159+
make -j2 VERBOSE=1
160+
popd
134161
- run:
135162
command: |
136-
export PATH=$PATH:/opt/arm/arm-linux-compiler-24.04_Ubuntu-22.04/bin
137-
timeout --foreground -k 10s 4m make check
138-
no_output_timeout: 60s
163+
export PATH=$PATH:/opt/arm/arm-linux-compiler-24.10.1_Ubuntu-22.04/bin
164+
pushd build
165+
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 4m make test VERBOSE=1
166+
popd
167+
no_output_timeout: 180s
168+
169+
nvc:
170+
parameters:
171+
worker_type:
172+
type: string
173+
scheduler:
174+
type: string
175+
topology:
176+
type: string
177+
machine:
178+
image: ubuntu-2404:edge
179+
resource_class: << parameters.worker_type >>
180+
environment:
181+
CC: nvc
182+
CXX: nvc++
183+
steps:
184+
- run: |
185+
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
186+
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
187+
- run: |
188+
curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg
189+
export MACHINE_TYPE=`uname -m`
190+
if [ ${MACHINE_TYPE} == 'x86_64' ]; then echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list; fi
191+
if [ ${MACHINE_TYPE} == 'aarch64' ]; then echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/arm64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list; fi
192+
sudo apt-get update -y
193+
sudo apt-get install -y nvhpc-24-9
194+
sudo apt-get install -y cmake
195+
sudo apt-get install -y hwloc libhwloc-dev
196+
- run: |
197+
export MACHINE_TYPE=`uname -m`
198+
if [ ${MACHINE_TYPE} == 'x86_64' ]; then export PATH="$PATH:/opt/nvidia/hpc_sdk/Linux_x86_64/24.9/compilers/bin"; fi
199+
if [ ${MACHINE_TYPE} == 'aarch64' ]; then export PATH="$PATH:/opt/nvidia/hpc_sdk/Linux_aarch64/24.9/compilers/bin"; fi
200+
nvc --version
201+
mkdir build
202+
pushd build
203+
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=<< parameters.scheduler >> -DQTHREADS_TOPOLOGY=<< parameters.topology >> ..
204+
make -j2 VERBOSE=1
205+
popd
206+
- run:
207+
command: |
208+
pushd build
209+
CTEST_OUTPUT_ON_FAILURE=1 timeout --foreground -k 10s 4m make test VERBOSE=1
210+
popd
211+
no_output_timeout: 180s
139212

140213
musl:
141214
parameters:
@@ -145,21 +218,32 @@ jobs:
145218
type: string
146219
topology:
147220
type: string
221+
compiler:
222+
type: string
148223
docker:
149224
- image: alpine:latest
150225
resource_class: << parameters.worker_type >>
151226
steps:
152-
- checkout
153227
- run: |
154-
apk add --no-cache --no-progress bash make musl-dev hwloc-dev libtool autoconf automake gcc g++
228+
apk add --no-cache --no-progress git
229+
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
230+
git clone -b "$CIRCLE_BRANCH" "$REPO_HTTPS" . --depth=1
231+
- run: |
232+
apk add --no-cache --no-progress bash make musl-dev hwloc-dev cmake gcc g++
233+
if [ "<< parameters.compiler >>" == "clang" ]; then apk add clang; fi
155234
- run: |
156-
bash autogen.sh
157-
bash configure --enable-picky --with-scheduler=<< parameters.scheduler >> -with-topology=<< parameters.topology >>
158-
make -j2
159-
make tests -j2
235+
if [ "<< parameters.compiler >>" == "clang" ]; then export CC=clang && export CXX=clang++; fi
236+
mkdir build
237+
cd build
238+
cmake -DCMAKE_BUILD_TYPE=Release -DQTHREADS_SCHEDULER=<< parameters.scheduler >> -DQTHREADS_TOPOLOGY=<< parameters.topology >> ..
239+
make -j2 VERBOSE=1
240+
cd ..
160241
- run:
161-
command: make check
162-
no_output_timeout: 60s
242+
command: |
243+
cd build
244+
CTEST_OUTPUT_ON_FAILURE=1 make test VERBOSE=1
245+
cd ..
246+
no_output_timeout: 180s
163247

164248
workflows:
165249
build_and_test:
@@ -180,15 +264,124 @@ workflows:
180264
scheduler: [nemesis, sherwood, distrib]
181265
topology: ['no', binders, hwloc]
182266
sanitizer: [address, memory, thread, undefined]
267+
exclude:
268+
- scheduler: nemesis
269+
topology: binders
270+
sanitizer: memory
271+
- scheduler: sherwood
272+
topology: binders
273+
sanitizer: memory
274+
- scheduler: distrib
275+
topology: binders
276+
sanitizer: memory
277+
- scheduler: nemesis
278+
topology: hwloc
279+
sanitizer: memory
280+
- scheduler: sherwood
281+
topology: hwloc
282+
sanitizer: memory
283+
- scheduler: distrib
284+
topology: hwloc
285+
sanitizer: memory
286+
- scheduler: sherwood
287+
topology: 'no'
288+
sanitizer: thread
289+
- scheduler: sherwood
290+
topology: hwloc
291+
sanitizer: thread
292+
- scheduler: sherwood
293+
topology: binders
294+
sanitizer: thread
295+
- scheduler: distrib
296+
topology: 'no'
297+
sanitizer: thread
298+
- scheduler: distrib
299+
topology: hwloc
300+
sanitizer: thread
301+
- scheduler: distrib
302+
topology: binders
303+
sanitizer: thread
183304
- arm_acfl:
184305
matrix:
185306
parameters:
186307
scheduler: [nemesis, sherwood, distrib]
187308
topology: ['no', binders, hwloc]
309+
- nvc:
310+
matrix:
311+
parameters:
312+
worker_type: [medium, arm.medium]
313+
scheduler: [nemesis, sherwood, distrib]
314+
topology: ['no', binders, hwloc]
188315
- musl:
189316
matrix:
190317
parameters:
191318
worker_type: [medium, arm.medium]
192319
scheduler: [nemesis, sherwood, distrib]
193320
topology: ['no', binders, hwloc]
321+
compiler: [clang, gcc]
322+
exclude:
323+
- worker_type: medium
324+
scheduler: sherwood
325+
topology: binders
326+
compiler: gcc
327+
- worker_type: medium
328+
scheduler: sherwood
329+
topology: hwloc
330+
compiler: gcc
331+
- worker_type: medium
332+
scheduler: distrib
333+
topology: binders
334+
compiler: gcc
335+
- worker_type: medium
336+
scheduler: distrib
337+
topology: hwloc
338+
compiler: gcc
339+
- worker_type: arm.medium
340+
scheduler: sherwood
341+
topology: binders
342+
compiler: gcc
343+
- worker_type: arm.medium
344+
scheduler: sherwood
345+
topology: hwloc
346+
compiler: gcc
347+
- worker_type: arm.medium
348+
scheduler: distrib
349+
topology: binders
350+
compiler: gcc
351+
- worker_type: arm.medium
352+
scheduler: distrib
353+
topology: hwloc
354+
compiler: gcc
355+
- worker_type: medium
356+
scheduler: sherwood
357+
topology: binders
358+
compiler: clang
359+
- worker_type: medium
360+
scheduler: sherwood
361+
topology: hwloc
362+
compiler: clang
363+
- worker_type: medium
364+
scheduler: distrib
365+
topology: binders
366+
compiler: clang
367+
- worker_type: medium
368+
scheduler: distrib
369+
topology: hwloc
370+
compiler: clang
371+
- worker_type: arm.medium
372+
scheduler: sherwood
373+
topology: binders
374+
compiler: clang
375+
- worker_type: arm.medium
376+
scheduler: sherwood
377+
topology: hwloc
378+
compiler: clang
379+
- worker_type: arm.medium
380+
scheduler: distrib
381+
topology: binders
382+
compiler: clang
383+
- worker_type: arm.medium
384+
scheduler: distrib
385+
topology: hwloc
386+
compiler: clang
194387

0 commit comments

Comments
 (0)