GitHub Actions: Install IPP & MKL #5
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: Build | |
on: push | |
jobs: | |
linux-x86_64: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Packages | |
run: | | |
sudo apt-get update && sudo apt-get install -y wget cmake gnupg2 ninja-build build-essential unzip | |
- name: Install IPP & MKL binaries | |
run: | | |
cd "${{ runner.temp }}" | |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | |
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | |
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | |
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list | |
sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main" | |
sudo apt install intel-oneapi-ipp intel-oneapi-ipp-devel | |
sudo apt install intel-oneapi-mkl intel-oneapi-mkl-devel | |
- name: Build FFTW | |
run: | | |
cd "$VCPKG_INSTALLATION_ROOT" | |
./vcpkg install fftw3[avx2] | |
ls -la "$VCPKG_INSTALLATION_ROOT/installed" | |
ls -la "$VCPKG_INSTALLATION_ROOT/installed/x64-linux" | |
ls -la "$VCPKG_INSTALLATION_ROOT/installed/x64-linux/share" | |
ls -la "$VCPKG_INSTALLATION_ROOT/installed/x64-linux/lib" | |
ls -la "$VCPKG_INSTALLATION_ROOT/installed/x64-linux/include" | |
- name: Get KFR6 binaries | |
env: | |
TMP_DIR: ${{ runner.temp }} | |
KFR_VER: 6.0.2 | |
run: | | |
curl -o "$TMP_DIR/kfr.zip" -L "https://github.com/kfrlib/kfr/releases/download/$KFR_VER/linux-x86_64.zip" | |
unzip "$TMP_DIR/kfr.zip" -d "${TMP_DIR}/kfr" | |
ls -la "${TMP_DIR}/kfr" | |
- name: Build benchmark | |
env: | |
TMP_DIR: ${{ runner.temp }} | |
run: | | |
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -GNinja "-DCMAKE_PREFIX_PATH=${TMP_DIR}/kfr/lib/cmake;$VCPKG_INSTALLATION_ROOT/installed/x64-linux/share;/opt/intel/oneapi/ipp/latest/lib/cmake;/opt/intel/oneapi/mkl/latest/lib/cmake" | |
ninja -C build | |
ls -la build | |
file build/fft_benchmark_{fftw,kfr,ipp,mkl} | |
mkdir -p "${{ github.workspace }}/dist" | |
cp build/fft_benchmark_{fftw,kfr,ipp,mkl} "${{ github.workspace }}/dist" | |
- name: Binaries | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-x86_64 | |
path: ${{ github.workspace }}/dist |