diff --git a/.travis.yml b/.travis.yml index bc365d65cfbc958ae7bdd6ec189ac0d49c8949ed..4ff853d86a3ae351e7f262cbf19833432ad9bb98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export OS=darwin; else export OS=linux; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PYTHONPATH="/usr/local/lib/python2.7/site-packages:$PYTHONPATH"; fi - sudo $PIP install pycodestyle - - export BAZEL_VERSION=0.13.1 + - export BAZEL_VERSION=0.16.0 - wget https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-$OS-x86_64.sh - chmod +x bazel-*.sh - sudo ./bazel-$BAZEL_VERSION-installer-$OS-x86_64.sh @@ -23,7 +23,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; brew cask install android-platform-tools; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update; sudo apt-get install -y --no-install-recommends android-tools-adb; fi - sudo $PIP install setuptools - - sudo $PIP install -I "tensorflow==1.8.0" "numpy==1.14.2" "sh==1.12.14" "pycodestyle==2.4.0" "pyyaml==3.12" "jinja2==2.10" "filelock==3.0.0" "scipy==1.0.0" + - sudo $PIP install -I "tensorflow==1.8.0" "numpy==1.15.4" "sh==1.12.14" "pycodestyle==2.4.0" "pyyaml==3.13" "jinja2==2.10" "filelock==3.0.10" "scipy==1.2.0" "PTable==0.9.2" jobs: include: @@ -47,7 +47,7 @@ jobs: - stage: Unit Test script: - echo "Ops Test" - - python tools/bazel_adb_run.py --target="//mace/ops:ops_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1; + - python tools/bazel_adb_run.py --target="//test/ccunit:mace_cc_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a,arm64 || exit 1; env: TYPE=Ops-Test os: linux dist: xenial @@ -55,93 +55,61 @@ jobs: - stage: Unit Test script: - echo "Ops Test" - - python tools/bazel_adb_run.py --target="//mace/ops:ops_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1; + - python tools/bazel_adb_run.py --target="//test/ccunit:mace_cc_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a,arm64 || exit 1; env: TYPE=Ops-Test os: osx osx_image: xcode7.2 - stage: Unit Test script: - echo "Ops Test On Darwin" - - python tools/bazel_adb_run.py --target="//mace/ops:ops_test" --run_target=False --enable_openmp=false --target_abis=host || exit 1; - - bazel build "//mace/ops:ops_test" --config=ios --config=optimization_darwin --define openmp=false --define quantize=true --define neon=true --config symbol_hidden || exit 1; + - python tools/bazel_adb_run.py --target="//test/ccunit:mace_cc_test" --run_target=False --enable_openmp=false --target_abis=host || exit 1; + - bazel build "//test/ccunit:mace_cc_test" --config=ios --config=optimization_darwin --define openmp=false --define quantize=true --define neon=true --config symbol_hidden || exit 1; env: TYPE=Ops-Test os: osx osx_image: xcode7.2 - stage: Unit Test script: - echo "Ops Test Without NEON" - - python tools/bazel_adb_run.py --target="//mace/ops:ops_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a --enable_neon=false || exit 1 + - python tools/bazel_adb_run.py --target="//test/ccunit:mace_cc_test" --run_target=False --target_abis=armeabi-v7a,arm64-v8a,arm64 --enable_neon=false || exit 1 env: TYPE=Ops-Test-Without-NEON os: linux dist: xenial sudo: required - stage: Unit Test script: - - python tools/bazel_adb_run.py --target="//mace/ops:ops_benchmark" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1; + - python tools/bazel_adb_run.py --target="//test/ccbenchmark:mace_cc_benchmark" --run_target=False --target_abis=armeabi-v7a,arm64-v8a,arm64 || exit 1; env: TYPE=Ops-Benchmark os: linux dist: xenial sudo: required - stage: Unit Test script: - - python tools/bazel_adb_run.py --target="//mace/ops:ops_benchmark" --run_target=False --target_abis=armeabi-v7a,arm64-v8a || exit 1; + - python tools/bazel_adb_run.py --target="//test/ccbenchmark:mace_cc_benchmark" --run_target=False --target_abis=armeabi-v7a,arm64-v8a,arm64 || exit 1; env: TYPE=Ops-Benchmark os: osx osx_image: xcode7.2 - stage: Unit Test script: - - python tools/bazel_adb_run.py --target="//mace/ops:ops_benchmark" --run_target=False --enable_openmp=false --target_abis=host || exit 1; - - bazel build "//mace/ops:ops_benchmark" --config=ios --config=optimization_darwin --define openmp=false --define quantize=true --define neon=true --config symbol_hidden || exit 1; + - python tools/bazel_adb_run.py --target="//test/ccbenchmark:mace_cc_benchmark" --run_target=False --enable_openmp=false --target_abis=host || exit 1; + - bazel build "//test/ccbenchmark:mace_cc_benchmark" --config=ios --config=optimization_darwin --define openmp=false --define quantize=true --define neon=true --config symbol_hidden || exit 1; env: TYPE=Ops-Benchmark os: osx osx_image: xcode7.2 - - stage: Unit Test - script: - - DYNAMIC_LIB_PATH="bazel-bin/mace/libmace/libmace.so" - - bazel build -s --config android --config optimization mace/libmace:libmace_dynamic --define neon=true --define openmp=true --define opencl=false --define quantize=false --cpu=armeabi-v7a - - CURRENT_LIBMACE_SO_SIZE=`ls -l $DYNAMIC_LIB_PATH --block-size=K -s | cut -f 1 -d "K"` - - TARGET_MACE_WORK_DIR=`mktemp -d` - - pushd $TARGET_MACE_WORK_DIR - - GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" git clone https://github.com/XiaoMi/mace.git - - pushd mace - - bazel build -s --config android --config optimization mace/libmace:libmace_dynamic --define neon=true --define openmp=true --define opencl=false --define quantize=false --cpu=armeabi-v7a - - TARGET_LIBMACE_SO_SIZE=`ls -l $DYNAMIC_LIB_PATH --block-size=K -s | cut -f 1 -d "K"` - - popd - - popd - - rm -rf $TARGET_MACE_WORK_DIR - - echo "The libmace.so size grows from $TARGET_LIBMACE_SO_SIZE(KB) to $CURRENT_LIBMACE_SO_SIZE(KB)" - - if [ $TARGET_LIBMACE_SO_SIZE -lt `expr \( $CURRENT_LIBMACE_SO_SIZE - $TARGET_LIBMACE_SO_SIZE \) \* 10` ]; then echo "The libmace.so size grows larger than 10%"; exit 1; fi - env: TYPE=Libs-Size-Check - os: linux - dist: xenial - sudo: required - stage: Extra Test script: - - bazel build mace/libmace:libmace_static --config optimization --define openmp=true || exit 1 - - bazel build mace/libmace:libmace_dynamic --config optimization --define openmp=true || exit 1 + - sh tools/cmake-build-android-armeabi-v7a-full.sh + - LIBMACE32_FULL_SIZE=`stat -c%s cmake-build/android-armeabi-v7a-full/install/lib/libmace.so` + - if (( LIBMACE32_FULL_SIZE > 2200000 )) ; then echo "The libmace.so size too large"; exit 1; fi env: TYPE=Build-Library os: linux dist: xenial sudo: required - stage: Extra Test script: - - echo 'API Test' - - python tools/bazel_adb_run.py --target="//mace/test:mace_api_test" --run_target=False --target_abis=armeabi-v7a || exit 1 - - python tools/bazel_adb_run.py --target="//mace/test:mace_api_mt_test" --run_target=False --target_abis=armeabi-v7a || exit 1 - - echo 'Extra Test' - - python tools/bazel_adb_run.py --target="//mace/utils:utils_test" --run_target=False --target_abis=armeabi-v7a || exit 1 - env: TYPE=Extra-Test-ARMEABI-v7a - os: linux - dist: xenial - sudo: required - - stage: Extra Test - script: - - echo 'API Test on ARM64' - - python tools/bazel_adb_run.py --target="//mace/test:mace_api_test" --run_target=False --target_abis=arm64-v8a || exit 1 - - python tools/bazel_adb_run.py --target="//mace/test:mace_api_mt_test" --run_target=False --target_abis=arm64-v8a || exit 1 - - echo 'Extra Test on ARM64' - - python tools/bazel_adb_run.py --target="//mace/utils:utils_test" --run_target=False --target_abis=arm64-v8a || exit 1 - env: TYPE=Extra-Test-ARM64-v8a + - sh tools/cmake-build-android-arm64-v8a-full.sh + - LIBMACE64_FULL_SIZE=`stat -c%s cmake-build/android-arm64-v8a-full/install/lib/libmace.so` + - if (( LIBMACE64_FULL_SIZE > 3100000 )) ; then echo "The libmace.so size too large"; exit 1; fi + env: TYPE=Build-Library os: linux dist: xenial sudo: required @@ -159,12 +127,3 @@ jobs: env: TYPE=Build-Library os: osx osx_image: xcode7.2 - - stage: Extra Test - script: - - echo 'API Test' - - python tools/bazel_adb_run.py --target="//mace/test:mace_api_test" --run_target=False --enable_openmp=false --target_abis=host || exit 1 - - python tools/bazel_adb_run.py --target="//mace/test:mace_api_mt_test" --run_target=False --enable_openmp=false --target_abis=host || exit 1 - - python tools/bazel_adb_run.py --target="//mace/utils:utils_test" --run_target=False --enable_openmp=false --target_abis=host || exit 1 - env: TYPE=Extra-Test-darwin_x86_64 - os: osx - osx_image: xcode7.2