store kvcache as float16 on AVX2/AVX512 in SDPA node. #7
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: Linux Static CC (Ubuntu 22.04, Python 3.11, Clang) | |
on: | |
workflow_dispatch: | |
pull_request: | |
paths-ignore: | |
- '**/docs/**' | |
- 'docs/**' | |
- '**/**.md' | |
- '**.md' | |
- '**/layer_tests_summary/**' | |
- '**/conformance/**' | |
push: | |
paths-ignore: | |
- '**/docs/**' | |
- 'docs/**' | |
- '**/**.md' | |
- '**.md' | |
- '**/layer_tests_summary/**' | |
- '**/conformance/**' | |
branches: | |
- master | |
concurrency: | |
# github.ref is not unique in post-commit | |
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-linux-cc | |
cancel-in-progress: true | |
env: | |
PIP_CACHE_PATH: /mount/caches/pip/linux | |
PYTHON_VERSION: '3.11' | |
jobs: | |
Build: | |
timeout-minutes: 150 | |
defaults: | |
run: | |
shell: bash | |
runs-on: aks-linux-16-cores | |
container: | |
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04 | |
volumes: | |
- /mount/caches:/mount/caches | |
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING | |
env: | |
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input | |
CMAKE_BUILD_TYPE: 'Release' | |
CMAKE_GENERATOR: 'Ninja Multi-Config' | |
CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
CMAKE_C_COMPILER_LAUNCHER: sccache | |
GITHUB_WORKSPACE: '/__w/openvino/openvino' | |
OPENVINO_REPO: /__w/openvino/openvino/openvino | |
INSTALL_DIR: /__w/openvino/openvino/openvino_install | |
BUILD_DIR: /__w/openvino/openvino/openvino_build | |
SELECTIVE_BUILD_STAT_DIR: /__w/openvino/openvino/selective_build_stat | |
MODELS_PATH: /__w/openvino/openvino/testdata | |
SCCACHE_AZURE_KEY_PREFIX: ubuntu22_x86_64_itt_clang_Release | |
steps: | |
- name: Install git | |
run: | | |
apt-get update | |
apt-get install --assume-yes --no-install-recommends git ca-certificates git-lfs | |
- name: Clone OpenVINO | |
uses: actions/checkout@v4 | |
with: | |
path: ${{ env.OPENVINO_REPO }} | |
submodules: 'true' | |
- name: Clone test models | |
uses: actions/checkout@v4 | |
with: | |
repository: 'openvinotoolkit/testdata' | |
path: ${{ env.MODELS_PATH }} | |
lfs: 'true' | |
ref: 'master' | |
# | |
# Print system info | |
# | |
- name: System info | |
uses: ./openvino/.github/actions/system_info | |
# | |
# Dependencies | |
# | |
- name: Install build dependencies | |
run: | | |
bash ${OPENVINO_REPO}/install_build_dependencies.sh | |
# use clang as a default compiler | |
apt --assume-yes install clang | |
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 | |
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100 | |
- name: Install sccache | |
uses: mozilla-actions/[email protected] | |
with: | |
version: "v0.5.4" | |
- name: Setup Python ${{ env.PYTHON_VERSION }} | |
uses: ./openvino/.github/actions/setup_python | |
with: | |
version: ${{ env.PYTHON_VERSION }} | |
pip-cache-path: ${{ env.PIP_CACHE_PATH }} | |
should-setup-pip-paths: 'true' | |
self-hosted-runner: 'true' | |
- name: Install python dependencies | |
run: | | |
# For running ONNX frontend unit tests | |
python3 -m pip install --force-reinstall -r ${OPENVINO_REPO}/src/frontends/onnx/tests/requirements.txt | |
# For running TensorFlow frontend unit tests | |
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/tensorflow/tests/requirements.txt | |
# For running TensorFlow Lite frontend unit tests | |
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/tensorflow_lite/tests/requirements.txt | |
# For running Paddle frontend unit tests | |
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/paddle/tests/requirements.txt | |
# | |
# Build | |
# | |
- name: CMake configure - CC COLLECT | |
run: | | |
cmake \ | |
-G "${{ env.CMAKE_GENERATOR }}" \ | |
-DBUILD_SHARED_LIBS=OFF \ | |
-DENABLE_TESTS=ON \ | |
-DENABLE_CPPLINT=OFF \ | |
-DENABLE_NCC_STYLE=OFF \ | |
-DENABLE_INTEL_GNA=OFF \ | |
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ | |
-DENABLE_PROFILING_ITT=ON \ | |
-DSELECTIVE_BUILD=COLLECT \ | |
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \ | |
-S ${OPENVINO_REPO} \ | |
-B ${BUILD_DIR} | |
- name: Cmake build - CC COLLECT | |
run: | | |
cmake --build ${BUILD_DIR} --parallel 8 --config ${{ env.CMAKE_BUILD_TYPE }} | |
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target sea_itt_lib | |
- name: Show sccache stats | |
run: ${SCCACHE_PATH} --show-stats | |
- name: Cmake install - OpenVINO | |
run: cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -P ${BUILD_DIR}/cmake_install.cmake | |
- name: Build C++ samples - OpenVINO build tree | |
run: | | |
cmake -G "${{ env.CMAKE_GENERATOR }}" -DOpenVINO_DIR=${BUILD_DIR} -S ${INSTALL_DIR}/samples/cpp -B ${BUILD_DIR}/cpp_samples | |
cmake --build ${BUILD_DIR}/cpp_samples --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target hello_query_device | |
- name: Build C samples - OpenVINO install tree | |
run: ${INSTALL_DIR}/samples/c/build_samples.sh -i ${INSTALL_DIR} -b ${BUILD_DIR}/c_samples | |
- name: Ctest - OpenVINO unit tests | |
run: ctest -C ${{ env.CMAKE_BUILD_TYPE }} --test-dir ${BUILD_DIR} -V -L UNIT | |
- name: Perform code tracing via ITT collector | |
run: | | |
python3 ${OPENVINO_REPO}/thirdparty/itt_collector/runtool/sea_runtool.py \ | |
--bindir ${OPENVINO_REPO}/bin/intel64/Release -o ${SELECTIVE_BUILD_STAT_DIR}/itt_stat ! \ | |
${OPENVINO_REPO}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \ | |
-m ${MODELS_PATH}/models/test_model/test_model_fp32.xml -d CPU | |
- name: Pack Artifacts | |
run: | | |
pushd ${SELECTIVE_BUILD_STAT_DIR} | |
tar -czvf ${BUILD_DIR}/openvino_selective_build_stat.tar.gz * | |
popd | |
pushd ${OPENVINO_REPO} | |
tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz \ | |
bin/intel64/Release/ov_cpu_func_tests \ | |
src/tests/test_utils/functional_test_utils/layer_tests_summary/* \ | |
scripts/install_dependencies/* | |
popd | |
- name: Upload selective build statistics package | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openvino_selective_build_stat | |
path: ${{ env.BUILD_DIR }}/openvino_selective_build_stat.tar.gz | |
if-no-files-found: 'error' | |
- name: Upload OpenVINO tests package | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: openvino_tests | |
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz | |
if-no-files-found: 'error' | |
CC_Build: | |
name: Conditional Compilation | |
needs: Build | |
timeout-minutes: 10 | |
defaults: | |
run: | |
shell: bash | |
runs-on: aks-linux-16-cores | |
container: | |
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04 | |
volumes: | |
- /mount/caches:/mount/caches | |
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING | |
env: | |
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input | |
CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
CMAKE_C_COMPILER_LAUNCHER: sccache | |
GITHUB_WORKSPACE: '/__w/openvino/openvino' | |
OPENVINO_REPO: /__w/openvino/openvino/openvino | |
BUILD_DIR: /__w/openvino/openvino/openvino_build | |
SELECTIVE_BUILD_STAT_DIR: /__w/openvino/openvino/selective_build_stat | |
MODELS_PATH: /__w/openvino/openvino/testdata | |
SCCACHE_AZURE_KEY_PREFIX: ubuntu22_x86_64_cc_Release | |
steps: | |
- name: Install git | |
run: apt-get update && apt-get install --assume-yes --no-install-recommends git ca-certificates git-lfs | |
- name: Clone OpenVINO | |
uses: actions/checkout@v4 | |
with: | |
path: ${{ env.OPENVINO_REPO }} | |
submodules: 'true' | |
- name: Clone test models | |
uses: actions/checkout@v4 | |
with: | |
repository: 'openvinotoolkit/testdata' | |
path: ${{ env.MODELS_PATH }} | |
lfs: 'true' | |
ref: 'master' | |
- name: Download selective build statistics package | |
uses: actions/download-artifact@v3 | |
with: | |
name: openvino_selective_build_stat | |
path: ${{ env.SELECTIVE_BUILD_STAT_DIR }} | |
- name: Extract selective build statistics package | |
run: tar -xvzf ${SELECTIVE_BUILD_STAT_DIR}/openvino_selective_build_stat.tar.gz -C ${SELECTIVE_BUILD_STAT_DIR} | |
# | |
# Dependencies | |
# | |
- name: Install build dependencies | |
run: bash ${OPENVINO_REPO}/install_build_dependencies.sh | |
- name: Install sccache | |
uses: mozilla-actions/[email protected] | |
with: | |
version: "v0.5.4" | |
# | |
# Build | |
# | |
- name: CMake configure - CC ON | |
run: | | |
cmake \ | |
-DBUILD_SHARED_LIBS=OFF \ | |
-DENABLE_CPPLINT=OFF \ | |
-DSELECTIVE_BUILD=ON \ | |
-DENABLE_LTO=OFF \ | |
-DENABLE_TEMPLATE=OFF \ | |
-DENABLE_INTEL_GPU=OFF \ | |
-DENABLE_INTEL_GNA=OFF \ | |
-DENABLE_OV_TF_FRONTEND=OFF \ | |
-DENABLE_OV_TF_LITE_FRONTEND=OFF \ | |
-DENABLE_OV_PADDLE_FRONTEND=OFF \ | |
-DENABLE_OV_PYTORCH_FRONTEND=OFF \ | |
-DENABLE_OV_ONNX_FRONTEND=OFF \ | |
-DSELECTIVE_BUILD_STAT=${SELECTIVE_BUILD_STAT_DIR}/*.csv \ | |
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \ | |
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \ | |
-S ${OPENVINO_REPO} \ | |
-B ${BUILD_DIR} | |
- name: Cmake build - CC ON | |
run: cmake --build ${BUILD_DIR} --parallel 8 --target benchmark_app | |
- name: Show ccache stats | |
run: ${SCCACHE_PATH} --show-stats | |
- name: Run with CC-ed runtime | |
run: ${OPENVINO_REPO}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 -m ${MODELS_PATH}/models/test_model/test_model_fp32.xml -d CPU | |
CPU_Functional_Tests: | |
name: CPU functional tests | |
needs: Build | |
timeout-minutes: 25 | |
defaults: | |
run: | |
shell: bash | |
runs-on: aks-linux-8-cores | |
container: | |
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04 | |
env: | |
OPENVINO_REPO: /__w/openvino/openvino/openvino | |
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input | |
INSTALL_TEST_DIR: /__w/openvino/openvino/install/tests | |
PARALLEL_TEST_SCRIPT: /__w/openvino/openvino/install/tests/src/tests/test_utils/functional_test_utils/layer_tests_summary/run_parallel.py | |
PARALLEL_TEST_CACHE: /__w/openvino/openvino/install/tests/test_cache.lst | |
steps: | |
- name: Download OpenVINO tests package | |
uses: actions/download-artifact@v3 | |
with: | |
name: openvino_tests | |
path: ${{ env.INSTALL_TEST_DIR }} | |
- name: Extract OpenVINO tests package | |
run: tar -xvzf ${INSTALL_TEST_DIR}/openvino_tests.tar.gz -C ${INSTALL_TEST_DIR} | |
- name: Install OpenVINO dependencies | |
run: bash ${INSTALL_TEST_DIR}/scripts/install_dependencies/install_openvino_dependencies.sh -c=core -c=gpu -y | |
- name: Fetch setup_python action | |
uses: actions/checkout@v4 | |
with: | |
sparse-checkout: | | |
.github/actions/setup_python/action.yml | |
sparse-checkout-cone-mode: false | |
path: ${{ env.OPENVINO_REPO }} | |
- name: Setup Python ${{ env.PYTHON_VERSION }} | |
uses: ./openvino/.github/actions/setup_python | |
with: | |
version: ${{ env.PYTHON_VERSION }} | |
should-setup-pip-paths: 'false' | |
- name: Install python dependencies for run_parallel.py | |
run: python3 -m pip install -r ${INSTALL_TEST_DIR}/src/tests/test_utils/functional_test_utils/layer_tests_summary/requirements.txt | |
- name: Restore tests execution time | |
uses: actions/cache/restore@v3 | |
with: | |
path: ${{ env.PARALLEL_TEST_CACHE }} | |
key: ${{ runner.os }}-tests-functional-cpu-stamp-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-tests-functional-cpu-stamp | |
- name: Intel CPU plugin func tests (parallel) | |
run: python3 ${PARALLEL_TEST_SCRIPT} -e ${INSTALL_TEST_DIR}/bin/intel64/Release/ov_cpu_func_tests -c ${PARALLEL_TEST_CACHE} -w ${INSTALL_TEST_DIR} -s suite -rf 0 -- --gtest_print_time=1 --gtest_filter=*smoke* | |
timeout-minutes: 20 | |
- name: Upload Test Results | |
uses: actions/upload-artifact@v3 | |
if: ${{ !cancelled() }} | |
with: | |
name: test-results-functional-cpu | |
path: | | |
${{ env.INSTALL_TEST_DIR }}/TEST*.xml | |
${{ env.INSTALL_TEST_DIR }}/logs/failed/*.log | |
${{ env.INSTALL_TEST_DIR }}/logs/crashed/*.log | |
${{ env.INSTALL_TEST_DIR }}/logs/hanged/*.log | |
${{ env.INSTALL_TEST_DIR }}/logs/interapted/*.log | |
${{ env.INSTALL_TEST_DIR }}/logs/disabled_tests.log | |
if-no-files-found: 'error' |