Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 19 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ jobs:
path: |
${{ env.INSTALL_PREFIX }}/Linux/x64/Debug/
include/
build/Linux/x64/Debug/
retention-days: 1

# ================================================================
Expand Down Expand Up @@ -189,6 +190,11 @@ jobs:
name: openvx-debug
path: ${{ github.workspace }}

- name: Install lcov
run: |
sudo apt-get update
sudo apt-get install -y lcov

- name: Run CTS baseline / smoke tests
run: |
cd build-cts
Expand All @@ -201,7 +207,7 @@ jobs:

- name: Collect code-coverage data
run: |
lcov --directory build/Linux/x64/Debug --capture --output-file coverage.info
lcov --directory ${{ github.workspace }}/build/Linux/x64/Debug --capture --output-file coverage.info
lcov --remove coverage.info '/usr/*' '${{ github.workspace }}/cts/*' --output-file coverage.info
lcov --list coverage.info

Expand Down Expand Up @@ -270,7 +276,7 @@ jobs:
export LD_LIBRARY_PATH=${{ env.INSTALL_PREFIX }}/Linux/x64/Debug/lib
export VX_TEST_DATA_PATH=${{ github.workspace }}/cts/test_data/
timeout 600 ./bin/vx_test_conformance \
--filter="TensorNetworks.*:*NN*:VxKernelOfNNAndNNEF.*:VxParameterOfNNAndNNEF.*:MetaFormatOfNNAndNNEF.*:UserKernelsOfNNAndNNEF.*" \
--filter="TensorNetworks.*:-TensorNetworks.AlexNetTestNetwork:*NN*:VxKernelOfNNAndNNEF.*:VxParameterOfNNAndNNEF.*:MetaFormatOfNNAndNNEF.*:UserKernelsOfNNAndNNEF.*" \
--verbose

# ================================================================
Expand Down Expand Up @@ -412,6 +418,8 @@ jobs:

- name: Build OpenVX sample impl (Release) from main
run: |
# main branch may not yet have --userdataobj support
if grep -q 'userdataobj' Build.py; then EXTRA="--userdataobj"; fi
python3 Build.py \
--os=linux --arch=64 --conf=Release --build=true \
--conf_vision \
Expand All @@ -421,7 +429,7 @@ jobs:
--ix \
--pipelining \
--streaming \
--userdataobj
$EXTRA

- name: Upload main release build artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -468,20 +476,22 @@ jobs:
id: pr_openvx
run: |
set -euo pipefail
LIB_DIR=${{ github.workspace }}/pr-build/Linux/x64/Release/lib
INC_DIR=${{ github.workspace }}/pr-build/include
LIB_DIR=$(find ${{ github.workspace }}/pr-build -type d -name lib | head -n1)
INC_DIR=$(dirname "$LIB_DIR")/include
echo "lib_dir=$LIB_DIR" >> "$GITHUB_OUTPUT"
echo "include_dir=$INC_DIR" >> "$GITHUB_OUTPUT"
ls -la "$INC_DIR/VX/vx.h"
ls -la "$LIB_DIR"

- name: Stage main OpenVX libraries
id: main_openvx
run: |
set -euo pipefail
LIB_DIR=${{ github.workspace }}/main-build/Linux/x64/Release/lib
INC_DIR=${{ github.workspace }}/main-build/include
LIB_DIR=$(find ${{ github.workspace }}/main-build -type d -name lib | head -n1)
INC_DIR=$(dirname "$LIB_DIR")/include
echo "lib_dir=$LIB_DIR" >> "$GITHUB_OUTPUT"
echo "include_dir=$INC_DIR" >> "$GITHUB_OUTPUT"
ls -la "$INC_DIR/VX/vx.h"
ls -la "$LIB_DIR"

- name: Clone openvx-mark
Expand All @@ -496,7 +506,7 @@ jobs:
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DOPENVX_INCLUDES=${{ steps.pr_openvx.outputs.include_dir }} \
-DOPENVX_LIBRARIES="${{ steps.pr_openvx.outputs.lib_dir }}/libopenvx.so;${{ steps.pr_openvx.outputs.lib_dir }}/libvxu.so" \
-DOPENVX_LIB_DIR=${{ steps.pr_openvx.outputs.lib_dir }} \
..
cmake --build . -j$(nproc)

Expand All @@ -507,7 +517,7 @@ jobs:
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DOPENVX_INCLUDES=${{ steps.main_openvx.outputs.include_dir }} \
-DOPENVX_LIBRARIES="${{ steps.main_openvx.outputs.lib_dir }}/libopenvx.so;${{ steps.main_openvx.outputs.lib_dir }}/libvxu.so" \
-DOPENVX_LIB_DIR=${{ steps.main_openvx.outputs.lib_dir }} \
..
cmake --build . -j$(nproc)

Expand Down
3 changes: 3 additions & 0 deletions Build.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ def main():
parser.add_option("--nn", dest="nn", help="Add -DOPENVX_USE_NN=ON to support the neural network extension", default=False, action='store_true')
parser.add_option("--pipelining", dest="pipelining", help="Add -DOPENVX_USE_PIPELINING=ON to support the pipelining extension", default=False, action='store_true')
parser.add_option("--streaming", dest="streaming", help="Add -DOPENVX_USE_STREAMING=ON to support the streaming extension", default=False, action='store_true')
parser.add_option("--userdataobj", dest="userdataobj", help="Add -DOPENVX_USE_USER_DATA_OBJECT=ON to support the user data object extension", default=False, action="store_true")
parser.add_option("--opencl_interop", dest="opencl_interop", help="Add -DOPENVX_USE_OPENCL_INTEROP=ON to support OpenVX OpenCL InterOp", default=False, action='store_true')
# Provisional extensions
parser.add_option("--tiling", dest="tiling", help="Add -DOPENVX_USE_TILING=ON to support the tiling extension", default=False, action='store_true')
Expand Down Expand Up @@ -214,6 +215,8 @@ def main():
cmd += ['-DOPENVX_USE_IX=ON']
if options.nn:
cmd += ['-DOPENVX_USE_NN=ON']
if options.userdataobj:
cmd += ['-DOPENVX_USE_USER_DATA_OBJECT=ON']
if options.opencl_interop:
cmd += ['-DOPENVX_USE_OPENCL_INTEROP=ON']
# if options.nn16:
Expand Down
Loading