Add Neuron to the distcheck matrix #24
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR CI | |
on: [push, pull_request] | |
env: | |
APT_PACKAGES: >- | |
build-essential | |
clang | |
gcc | |
git | |
libhwloc-dev | |
make | |
jobs: | |
distcheck: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
cc: | |
- gcc | |
- clang | |
sdk: | |
- cuda | |
- neuron | |
fail-fast: false | |
steps: | |
- name: Install Dependencies | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y ${{ env.APT_PACKAGES }} | |
- name: Install CUDA SDK | |
if: matrix.sdk == 'cuda' | |
run: | | |
sudo apt-get install -y nvidia-cuda-toolkit | |
- name: Install Neuron SDK | |
if: matrix.sdk == 'neuron' | |
run: | | |
# Configure Linux for Neuron repository updates | |
. /etc/os-release | |
sudo tee /etc/apt/sources.list.d/neuron.list > /dev/null <<EOF | |
deb https://apt.repos.neuron.amazonaws.com ${VERSION_CODENAME} main | |
EOF | |
wget -qO - https://apt.repos.neuron.amazonaws.com/GPG-PUB-KEY-AMAZON-AWS-NEURON.PUB | sudo apt-key add - | |
# Install Neuron Runtime | |
sudo apt-get install aws-neuronx-collectives=2.* -y | |
sudo apt-get install aws-neuronx-runtime-lib=2.* -y | |
- uses: actions/checkout@v4 | |
- name: Build and Distribution Checks (CUDA) | |
if: matrix.sdk == 'cuda' | |
run: | | |
set -x | |
# We're just doing distchecks, so it is fine if we | |
# just grab the latest master. | |
git clone --depth 1 https://github.com/ofiwg/libfabric.git | |
pushd libfabric | |
./autogen.sh | |
./configure --prefix=$PWD/install CC=${{ matrix.cc }} | |
make -j $(nproc) | |
make install | |
popd | |
# actions/checkout@v4 would drop the plugin source in $PWD, | |
# so go ahead and build it | |
./autogen.sh | |
./configure --with-libfabric=$PWD/libfabric/install --with-cuda=/usr/local/cuda/ CC=${{ matrix.cc }} | |
make -j $(nproc) | |
# Run Unit tests | |
make check | |
# Run dist tarball checks | |
make distcheck | |
- name: Upload build logs | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.cc }}-config.log | |
path: config.log |