Initial import of libdpf.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
commit
e4e666f459
4563 changed files with 1690372 additions and 0 deletions
544
thirdparty/simde/.github/workflows/ci.yml
vendored
Normal file
544
thirdparty/simde/.github/workflows/ci.yml
vendored
Normal file
|
|
@ -0,0 +1,544 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- 'master'
|
||||
- 'ci/**'
|
||||
- '!ci/gha**'
|
||||
pull_request:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
concurrency:
|
||||
group: build-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
formatting:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 2
|
||||
- name: Install pcre2grep
|
||||
run: sudo apt-get update && sudo apt-get install -y pcre2-utils
|
||||
# Check for trailing whitespace
|
||||
- name: Trailing whitespace
|
||||
run: find simde/ \( -name '*.c' -o -name '*.h' \) -exec grep -nP '\s+$' {} + && exit 1 || exit 0
|
||||
# We use spaces, not tabs. I don't want to start a holy war here;
|
||||
# I don't actually have a strong preference between the two, but I
|
||||
# do have a strong preference for consistency, so don't @ me.
|
||||
- name: Tabs
|
||||
run: find simde/ \( -name '*.c' -o -name '*.h' \) -exec grep -nP '\t' {} + && exit 1 || exit 0
|
||||
# s/8/16/ will result in this if the input is x86.
|
||||
- name: Bad substitutions
|
||||
run: git grep -i 'x''1''6''6' && exit 1 || exit 0
|
||||
- name: Incorrect assertions in test/
|
||||
run: grep -PR '(?<=[^a-zA-Z0-9_])simde_assert_u?int(8|16|32|64)(?>[^a-zA-Z0-9_])' test/ && exit 1 || exit 0
|
||||
# Check to make sure no source files have the executable bit set
|
||||
- name: Executable sources
|
||||
run: find \( -name '*.c' -o -name '*.h' \) -executable | grep -q '.' && exit 1 || exit 0
|
||||
# Make sure neon.h includes all the NEON headers.
|
||||
- name: Missing NEON includes
|
||||
run: for f in simde/arm/neon/*.h; do grep -q "include \"neon/$(basename "$f")\"" simde/arm/neon.h || (echo "Missing $f" && exit 1); done
|
||||
# Make sure sve.h includes all the SVE headers.
|
||||
- name: Missing SVE includes
|
||||
run: for f in simde/arm/sve/*.h; do grep -q "include \"sve/$(basename "$f")\"" simde/arm/sve.h || (echo "Missing $f" && exit 1); done
|
||||
# Make sure msa.h includes all the MSA headers.
|
||||
- name: Missing MSA includes
|
||||
run: for f in simde/mips/msa/*.h; do grep -q "include \"msa/$(basename "$f")\"" simde/mips/msa.h || (echo "Missing $f" && exit 1); done
|
||||
# Make sure we can find the expected header guards. It's easy to miss this when doing C&P
|
||||
- name: Header guards
|
||||
run: for file in $(find simde/*/ -name '*.h'); do grep -q "$(echo "$file" | tr '[:lower:]' '[:upper:]' | tr '[:punct:]' '_')" "$file" || (echo "Missing or incorrect header guard in $file" && exit 1); done
|
||||
# There should be an empty line at the end of every file
|
||||
- name: Newline at EOF
|
||||
run: for file in $(find simde -name '*.h'); do if [ -n "$(tail -c 1 "$file")" ]; then echo "No newline at end of $file" && exit 1; fi; done
|
||||
# Don't #ifndef ; use !defined(...) instead. ifndef leads to annoying inconsistencies
|
||||
- name: ifndef
|
||||
run: for file in $(find simde -name '*.h'); do grep -qP '^ *# *ifndef ' "${file}" && exit 1 || exit 0; done
|
||||
# List of headers we want Meson to install
|
||||
- name: Meson install headers
|
||||
run: for file in $(find simde -name '*.h'); do grep -qF "$(basename "${file}" .h)" meson.build || (echo "${file} missing from top-level meson.build" && exit 1); done
|
||||
# Make sure we don't accidentally use `vector ...` instead of SIMDE_POWER_ALTIVEC_VECTOR(...)
|
||||
- name: AltiVec raw vector keyword
|
||||
run: find simde/ \( -name '*.c' -o -name '*.h' \) -exec grep -nP 'vector( +)((bool|signed|unsigned) +)?(double|float|long long|long|int|short|char)' {} + && exit 1 || exit 0
|
||||
# Check indentation of preprocessor directives.
|
||||
- name: Preprocessor directive indentation
|
||||
run: find simde/*/ -name 'avx*.h' -exec pcre2grep -M '{\n#' {} + && exit 1 || exit 0
|
||||
- name: Stray `&& 0`
|
||||
run: git grep ' && 0' simde/ test/ && exit 1 || exit 0
|
||||
|
||||
x86:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
matrix:
|
||||
isax:
|
||||
- -mavx512bw -mavx512vl -mavx512cd -mavx512dq -mavx512vbmi -mavx512ifma -mavx512vpopcntdq -mavx512bitalg -mavx512vnni -mvpclmulqdq
|
||||
- -mavx512bw -mavx512vl -DSIMDE_NATURAL_VECTOR_SIZE=256
|
||||
- -mavx512f
|
||||
- -mavx512bw
|
||||
- -mavx512vl
|
||||
- -mavx512vl -mavx512dq
|
||||
- -mavx512cd
|
||||
- -mavx512dq
|
||||
- -msse2
|
||||
- -msse3
|
||||
- -mssse3
|
||||
- -msse4.1
|
||||
- -msse4.2
|
||||
- -mavx
|
||||
- -mfma
|
||||
- -mavx2
|
||||
env:
|
||||
CFLAGS: -Wall -Wextra -Werror ${{ matrix.isax }}
|
||||
CXXFLAGS: -Wall -Wextra -Werror ${{ matrix.isax }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: CPU Information
|
||||
run: cat /proc/cpuinfo
|
||||
- run: sudo apt-get update
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
key: ${{ github.job }}-${{ matrix.isax }}
|
||||
- name: Install APT Dependencies
|
||||
run: |
|
||||
sudo apt-get install -y ninja-build ninja-build python3-pip parallel gcovr
|
||||
sudo python3 -m pip install meson==0.55.0
|
||||
- name: Configure
|
||||
run: meson setup build -Db_coverage=true
|
||||
- name: Build
|
||||
run: ninja -C build -v
|
||||
- name: Test
|
||||
run: meson test -C build --print-errorlogs --wrapper "${GITHUB_WORKSPACE}/test/check-flags.sh sde"
|
||||
- name: Coverage Report
|
||||
run: ninja -C build -v coverage-xml
|
||||
- name: CodeCov.io
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
file: ./build/meson-logs/coverage.xml
|
||||
|
||||
emscripten:
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
CFLAGS: -Weverything -Werror -O2 -msimd128 -Wno-unsafe-buffer-usage
|
||||
CXXFLAGS: -Weverything -Werror -O2 -msimd128 -Wno-unsafe-buffer-usage
|
||||
LDFLAGS: -s ENVIRONMENT=shell -s ASSERTIONS=1
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: CPU Information
|
||||
run: cat /proc/cpuinfo
|
||||
- name: Install APT Dependencies
|
||||
run: |
|
||||
sudo apt-get update && \
|
||||
sudo apt-get install -y ninja-build ninja-build python3-pip parallel gcovr &&\
|
||||
sudo python3 -m pip install meson==0.55.0
|
||||
- name: Install emscripten
|
||||
run: |
|
||||
git clone https://github.com/emscripten-core/emsdk.git /opt/emsdk
|
||||
cd /opt/emsdk
|
||||
./emsdk install tot
|
||||
./emsdk activate tot
|
||||
source emsdk_env.sh
|
||||
- name: Install v8
|
||||
run: |
|
||||
sudo npm install jsvu -g
|
||||
jsvu --os=linux64 --engines=v8
|
||||
sudo ln -s "$HOME/.jsvu/bin/v8" /usr/bin/v8
|
||||
ls -l /usr/bin/v8
|
||||
ls -l ~/.jsvu || true
|
||||
/usr/bin/v8 --help
|
||||
- name: Configure
|
||||
run: meson setup build --optimization 2 --cross-file docker/cross-files/emscripten.cross
|
||||
- name: Build
|
||||
run: meson compile -C build --verbose
|
||||
- name: Test
|
||||
run: meson test -C build --print-errorlogs $(meson test -C build --list | grep -v emul)
|
||||
|
||||
native-aliases:
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
CFLAGS: -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING -march=native -Wall -Wextra -Werror
|
||||
CXXFLAGS: -DSIMDE_ENABLE_NATIVE_ALIASES -DSIMDE_NATIVE_ALIASES_TESTING -march=native -Wall -Wextra -Werror
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: CPU Information
|
||||
run: cat /proc/cpuinfo
|
||||
- name: Install APT Dependencies
|
||||
run: |
|
||||
sudo apt-get update && \
|
||||
sudo apt-get -yq install libxml2-utils ninja-build parallel gcovr && \
|
||||
sudo python3 -m pip install meson==0.55.0
|
||||
- name: Convert
|
||||
run: ./test/native-aliases.sh
|
||||
- name: Configure
|
||||
run: meson setup build -Db_coverage=true
|
||||
- name: Build
|
||||
run: ninja -C build -v
|
||||
- name: Test
|
||||
run: ninja -C build -v test
|
||||
- name: Coverage Report
|
||||
run: ninja -C build -v coverage-xml
|
||||
- name: CodeCov.io
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
file: ./build/meson-logs/coverage.xml
|
||||
|
||||
sleef:
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
CFLAGS: -march=native -Wall -Wextra -Werror
|
||||
CXXFLAGS: -march=native -Wall -Wextra -Werror
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- run: sudo apt-get update
|
||||
- name: CPU Information
|
||||
run: cat /proc/cpuinfo
|
||||
- name: Install APT Dependencies
|
||||
run: |
|
||||
sudo apt-get install -y ninja-build ninja-build parallel gcovr libsleef-dev
|
||||
sudo python3 -m pip install meson==0.55.0
|
||||
- name: Configure
|
||||
run: meson setup build -Dsleef=enabled -Db_coverage=true
|
||||
- name: Build
|
||||
run: ninja -C build -v
|
||||
- name: Test
|
||||
run: ninja -C build -v test
|
||||
- name: Coverage Report
|
||||
run: ninja -C build -v coverage-xml
|
||||
- name: CodeCov.io
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
file: ./build/meson-logs/coverage.xml
|
||||
|
||||
gcc:
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# - version: 4.7
|
||||
# distro: ubuntu-16.04
|
||||
# arch_flags: -mavx2
|
||||
# - version: 4.8
|
||||
# distro: ubuntu-16.04
|
||||
# arch_flags: -mavx2
|
||||
# - version: 4.9
|
||||
# distro: ubuntu-16.04
|
||||
# arch_flags: -mavx2
|
||||
#- version: 5
|
||||
# distro: ubuntu-18.04
|
||||
# arch_flags: -mavx2
|
||||
# - version: 6
|
||||
# distro: ubuntu-18.04
|
||||
# arch_flags: -march=native
|
||||
# - version: 7
|
||||
# distro: ubuntu-18.04
|
||||
# arch_flags: -march=native
|
||||
#- version: 8
|
||||
# distro: ubuntu-18.04
|
||||
# arch_flags: -march=native
|
||||
# - version: 9
|
||||
# distro: ubuntu-20.04
|
||||
# arch_flags: -march=native
|
||||
- version: 10
|
||||
distro: ubuntu-20.04
|
||||
arch_flags: -march=native
|
||||
- version: 10
|
||||
distro: ubuntu-20.04
|
||||
arch_flags: -ffast-math
|
||||
ccache: 'true'
|
||||
- version: 11
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -march=native
|
||||
- version: 11
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -ffast-math
|
||||
ccache: 'true'
|
||||
- version: 12
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -march=native
|
||||
- version: 12
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -ffast-math
|
||||
ccache: 'true'
|
||||
runs-on: ${{ matrix.distro }}
|
||||
env:
|
||||
CC: gcc-${{ matrix.version }}
|
||||
CXX: g++-${{ matrix.version }}
|
||||
CFLAGS: ${{ matrix.arch_flags }} -Wall -Wextra -Werror
|
||||
CXXFLAGS: ${{ matrix.arch_flags }} -Wall -Wextra -Werror
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: CPU Information
|
||||
run: cat /proc/cpuinfo
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
if: ${{ matrix.ccache == 'true' }}
|
||||
with:
|
||||
key: ${{ github.job }}-${{ matrix.version }}-${{ matrix.distro }}-${{ matrix.arch_flags }}
|
||||
- name: Install APT Dependencies
|
||||
run: |
|
||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
sudo apt-get update
|
||||
sudo apt-get -yq install gcovr python3-pip ninja-build parallel "${CC}" "${CXX}"
|
||||
sudo python3 -m pip install meson==0.55.0
|
||||
- name: Configure
|
||||
run: meson setup build
|
||||
- name: Build
|
||||
run: meson compile -C build --verbose
|
||||
- name: Test
|
||||
run: meson test -C build --print-errorlogs
|
||||
|
||||
gcc-qemu:
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- version: 12
|
||||
distro: ubuntu-22.04
|
||||
cross: aarch64
|
||||
arch_gnu: aarch64
|
||||
arch_deb: arm64
|
||||
- version: 12
|
||||
distro: ubuntu-22.04
|
||||
cross: riscv64
|
||||
arch_gnu: riscv64
|
||||
arch_deb: riscv64
|
||||
- version: 12
|
||||
distro: ubuntu-22.04
|
||||
cross: s390x
|
||||
arch_gnu: s390x
|
||||
arch_deb: s390x
|
||||
# power: 150 failures: x86/{avx512/range,sse,sse3}, arm/neon/*, wasm_simd128/, wasm_relexad_simd/*
|
||||
# https://github.com/simd-everywhere/simde/issues/903
|
||||
# - version: 12
|
||||
# distro: ubuntu-22.04
|
||||
# cross: power9
|
||||
# arch_gnu: powerpc64le
|
||||
# arch_deb: ppc64el
|
||||
runs-on: ${{ matrix.distro }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- run: sudo apt-get update
|
||||
- name: CPU Information
|
||||
run: cat /proc/cpuinfo
|
||||
- name: Install APT Dependencies
|
||||
run: |
|
||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
sudo apt-get update -y
|
||||
sudo apt-get -yq install ninja-build parallel \
|
||||
gcc-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu \
|
||||
g++-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu binfmt-support \
|
||||
qemu-user-static python3-pip libc6-${{ matrix.arch_deb }}-cross libstdc++-${{ matrix.version }}-dev-${{ matrix.arch_deb }}-cross
|
||||
sudo python3 -m pip install meson==0.55.0
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
key: ${{ github.job }}-${{ matrix.distro }}-${{ matrix.cross }}
|
||||
- name: add ccache to the build path
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
- name: Configure
|
||||
run: meson setup --cross-file=docker/cross-files/${{ matrix.cross }}-gcc-${{ matrix.version }}-ccache.cross build
|
||||
- name: Build
|
||||
run: ninja -C build -v
|
||||
- name: Test
|
||||
run: meson test -C build --print-errorlogs
|
||||
|
||||
clang:
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# - version: "3.5"
|
||||
# distro: ubuntu-16.04
|
||||
# arch_flags: -mavx2
|
||||
# - version: "3.6"
|
||||
# distro: ubuntu-16.04
|
||||
# arch_flags: -mavx2
|
||||
# - version: "3.7"
|
||||
# distro: ubuntu-16.04
|
||||
# arch_flags: -mavx2
|
||||
# - version: "3.8"
|
||||
# distro: ubuntu-16.04
|
||||
# arch_flags: -mavx2
|
||||
#- version: "3.9"
|
||||
# distro: ubuntu-18.04
|
||||
# arch_flags: -mavx2
|
||||
# - version: "4.0"
|
||||
# distro: ubuntu-18.04
|
||||
# arch_flags: -mavx2
|
||||
#- version: "5.0"
|
||||
# distro: ubuntu-18.04
|
||||
# arch_flags: -mavx2
|
||||
# - version: "6.0"
|
||||
# distro: ubuntu-20.04
|
||||
# arch_flags: -march=native
|
||||
- version: "7"
|
||||
distro: ubuntu-20.04
|
||||
arch_flags: -march=native
|
||||
# - version: "8"
|
||||
# distro: ubuntu-20.04
|
||||
# arch_flags: -march=native
|
||||
- version: "10"
|
||||
distro: ubuntu-20.04
|
||||
arch_flags: -march=native
|
||||
- version: "12"
|
||||
distro: ubuntu-20.04
|
||||
arch_flags: -march=native
|
||||
- version: "12"
|
||||
distro: ubuntu-20.04
|
||||
arch_flags: -ffast-math
|
||||
ccache: 'true'
|
||||
- version: "13"
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -march=native
|
||||
- version: "13"
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -ffast-math
|
||||
ccache: 'true'
|
||||
- version: "14"
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -march=native
|
||||
- version: "14"
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -ffast-math
|
||||
ccache: 'true'
|
||||
- version: "15"
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -march=native
|
||||
- version: "15"
|
||||
distro: ubuntu-22.04
|
||||
arch_flags: -ffast-math
|
||||
ccache: 'true'
|
||||
runs-on: ${{ matrix.distro }}
|
||||
env:
|
||||
CC: clang-${{ matrix.version }}
|
||||
CXX: clang++-${{ matrix.version }}
|
||||
CFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -fno-lax-vector-conversions
|
||||
CXXFLAGS: ${{ matrix.arch_flags }} -Wall -Weverything -Werror -fno-lax-vector-conversions
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: CPU Information
|
||||
run: cat /proc/cpuinfo
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
if: ${{ matrix.ccache == 'true' }}
|
||||
with:
|
||||
key: ${{ github.job }}-${{ matrix.version }}-${{ matrix.distro }}-${{ matrix.arch_flags }}
|
||||
- name: Install APT Dependencies
|
||||
run: |
|
||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
sudo apt-get update
|
||||
sudo apt-get -yq install gcovr ninja-build python3-pip clang-${{ matrix.version }}
|
||||
sudo python3 -m pip install meson==0.55.0
|
||||
- name: Configure
|
||||
run: meson setup build
|
||||
- name: Build
|
||||
run: meson compile -C build --verbose
|
||||
- name: Test
|
||||
run: meson test -C build --print-errorlogs
|
||||
|
||||
macos:
|
||||
runs-on: macos-11
|
||||
strategy:
|
||||
matrix:
|
||||
# https://www.jessesquires.com/blog/2020/01/06/selecting-an-xcode-version-on-github-ci/
|
||||
# https://github.com/actions/virtual-environments/blob/master/images/macos/macos-10.15-Readme.md#xcode
|
||||
# xcode: ["11.3.1", "11.7", "12.3", "12.4"]
|
||||
xcode: ["11.7", "12.4", "12.5.1"] # for macos-11
|
||||
env:
|
||||
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
# - name: System Information
|
||||
# run: system_profiler
|
||||
- name: Compiler version
|
||||
run: cc --version
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
key: ${{ github.job }}-${{ matrix.xcode }}
|
||||
- name: Install Homebrew Dependencies
|
||||
run: brew install meson ninja gcovr
|
||||
- name: Configure
|
||||
run: meson setup build -Db_coverage=true
|
||||
- name: Build
|
||||
run: ninja -C build -v
|
||||
- name: Test
|
||||
run: ninja -C build -v test
|
||||
- name: Coverage Report
|
||||
run: ninja -C build -v coverage-xml
|
||||
- name: CodeCov.io
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
file: ./build/meson-logs/coverage.xml
|
||||
|
||||
icc:
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
CC: /home/runner/.local/bin/icx
|
||||
CXX: /home/runner/.local/bin/icpx
|
||||
CFLAGS: -Wall -Werror -march=native -fp-model precise
|
||||
CXXFLAGS: -Wall -Werror -march=native -fp-model precise
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: CPU Information
|
||||
run: cat /proc/cpuinfo
|
||||
- name: Install APT Dependencies
|
||||
run: sudo apt-get install -y ninja-build ninja-build python3-pip && sudo pip install meson==0.64
|
||||
- name: Install ICC
|
||||
run: |
|
||||
# download the key to system keyring
|
||||
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
|
||||
| gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
|
||||
# add signed entry to apt sources and configure the APT client to use Intel repository:
|
||||
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp
|
||||
mkdir -p ~/.local/bin/ || true
|
||||
for exe in icx icpx; do
|
||||
printf '#!/bin/bash\nARGS="$@"\nsource /opt/intel/oneapi/compiler/latest/env/vars.sh >/dev/null\n%s ${ARGS}\n' "${exe}" > ~/.local/bin/"${exe}"
|
||||
chmod 0755 ~/.local/bin/"${exe}";
|
||||
done
|
||||
- name: Configure
|
||||
run: meson setup build
|
||||
- name: Build
|
||||
run: ninja -C build -v
|
||||
- name: Test
|
||||
run: ninja -C build -v test
|
||||
|
||||
msvc-arm64:
|
||||
name: Windows MSVC-AArch64
|
||||
runs-on: [windows-latest]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install Meson, Ninja and coverage
|
||||
run: |
|
||||
python3 -m pip install --upgrade ninja meson
|
||||
choco install opencppcoverage codecov
|
||||
- name: Use ARM64 Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: amd64_arm64
|
||||
- name: Configure and Build
|
||||
run: |
|
||||
meson --backend=ninja build --cross-file test/arm64cl.txt
|
||||
ninja -C build -v test
|
||||
44
thirdparty/simde/.github/workflows/codeql-analysis.yml
vendored
Normal file
44
thirdparty/simde/.github/workflows/codeql-analysis.yml
vendored
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [master]
|
||||
schedule:
|
||||
- cron: '0 8 * * 3'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Override automatic language detection by changing the below list
|
||||
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
|
||||
language: ['cpp']
|
||||
# Learn more...
|
||||
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
|
||||
- run: |
|
||||
sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' && sudo apt-get update && sudo apt-get install -y ninja-build ninja-build python3-pip python3-setuptools python3-wheel gcc-10 g++-10
|
||||
pip3 install meson==0.55.0
|
||||
"$HOME/.local/bin/meson" setup build
|
||||
ninja -C build -v
|
||||
ninja -C build -v test
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
50
thirdparty/simde/.github/workflows/deploy.yml
vendored
Normal file
50
thirdparty/simde/.github/workflows/deploy.yml
vendored
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
name: deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
no-tests:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
fetch-depth: 0
|
||||
- uses: actions/setup-python@v1
|
||||
- name: Filter Repository
|
||||
run: |
|
||||
pip install git-filter-repo
|
||||
git-filter-repo --force --path-rename COPYING:.no-test/COPYING && \
|
||||
git-filter-repo --path-rename '.no-test/':'simde/' && \
|
||||
git-filter-repo --subdirectory-filter simde
|
||||
- name: GitHub Push
|
||||
uses: ad-m/github-push-action@v0.6.0
|
||||
with:
|
||||
github_token: ${{ secrets.PUSH_TO_NO_TESTS_TOKEN }}
|
||||
repository: simd-everywhere/simde-no-tests
|
||||
|
||||
status:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
fetch-depth: 0
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
repository: simd-everywhere/implementation-status
|
||||
token: ${{ secrets.PUSH_IMPLEMENTATION_STATUS_TOKEN }}
|
||||
path: implementation-status
|
||||
- name: Install APT Dependencies
|
||||
run: sudo apt-get update && sudo apt-get install -y python3-lxml
|
||||
- name: Update
|
||||
run: ./implementation-status/scripts/update.sh .
|
||||
- uses: EndBug/add-and-commit@v7
|
||||
with:
|
||||
cwd: implementation-status
|
||||
message: Sync with latest SIMDe.
|
||||
default_author: github_actions
|
||||
branch: main
|
||||
45
thirdparty/simde/.github/workflows/ossar-analysis.yml
vendored
Normal file
45
thirdparty/simde/.github/workflows/ossar-analysis.yml
vendored
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# This workflow integrates a collection of open source static analysis tools
|
||||
# with GitHub code scanning. For documentation, or to provide feedback, visit
|
||||
# https://github.com/github/ossar-action
|
||||
name: OSSAR
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
OSSAR-Scan:
|
||||
# OSSAR runs on windows-latest.
|
||||
# ubuntu-latest and macos-latest support coming soon
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
# Checkout your code repository to scan
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
fetch-depth: 2
|
||||
|
||||
# If this run was triggered by a pull request event, then checkout
|
||||
# the head of the pull request instead of the merge commit.
|
||||
- run: git checkout HEAD^2
|
||||
if: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
# Install dotnet, used by OSSAR
|
||||
- name: Install .NET
|
||||
uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
dotnet-version: '6.0.x'
|
||||
|
||||
# Run open source static analysis tools
|
||||
- name: Run OSSAR
|
||||
uses: github/ossar-action@v1
|
||||
id: ossar
|
||||
|
||||
# Upload results to the Security tab
|
||||
- name: Upload OSSAR results
|
||||
uses: github/codeql-action/upload-sarif@v2
|
||||
with:
|
||||
sarif_file: ${{ steps.ossar.outputs.sarifFile }}
|
||||
Loading…
Add table
Add a link
Reference in a new issue