Skip to content

Commit ecddde2

Browse files
Add nvc builds on amd64 and ARM.
1 parent f4aba2b commit ecddde2

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

.circleci/config.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,45 @@ jobs:
137137
timeout --foreground -k 10s 4m make check
138138
no_output_timeout: 60s
139139

140+
nvc:
141+
parameters:
142+
worker_type:
143+
type: string
144+
scheduler:
145+
type: string
146+
topology:
147+
type: string
148+
machine:
149+
image: ubuntu-2204:2024.04.4
150+
resource_class: << parameters.worker_type >>
151+
environment:
152+
CC: nvc
153+
CXX: nvc++
154+
steps:
155+
- checkout
156+
- run: |
157+
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
158+
export MACHINE_TYPE=`uname -m`
159+
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
160+
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
161+
sudo apt-get update -y
162+
sudo apt-get install -y nvhpc-24-9
163+
sudo apt-get install -y autoconf automake libtool
164+
sudo apt-get install -y hwloc libhwloc-dev
165+
- run: |
166+
export MACHINE_TYPE=`uname -m`
167+
if [ ${MACHINE_TYPE} == 'x86_64' ]; then export PATH="$PATH:/opt/nvidia/hpc_sdk/Linux_x86_64/24.9/compilers/bin"; fi
168+
if [ ${MACHINE_TYPE} == 'aarch64' ]; then export PATH="$PATH:/opt/nvidia/hpc_sdk/Linux_aarch64/24.9/compilers/bin"; fi
169+
nvc --version
170+
./autogen.sh
171+
./configure --enable-picky --with-scheduler=<< parameters.scheduler >> -with-topology=<< parameters.topology >> || cat config.log || exit 1
172+
make -j2 || grep -r "asm.Tpo" . && exit 1
173+
make tests -j2
174+
- run:
175+
command: |
176+
timeout --foreground -k 10s 4m make check
177+
no_output_timeout: 60s
178+
140179
musl:
141180
parameters:
142181
worker_type:
@@ -185,6 +224,12 @@ workflows:
185224
parameters:
186225
scheduler: [nemesis, sherwood, distrib]
187226
topology: ['no', binders, hwloc]
227+
- nvc:
228+
matrix:
229+
parameters:
230+
worker_type: [medium, arm.medium]
231+
scheduler: [nemesis, sherwood, distrib]
232+
topology: ['no', binders, hwloc]
188233
- musl:
189234
matrix:
190235
parameters:

0 commit comments

Comments
 (0)