From a8a28f66d5ea70066b666b1185ac2f9783179b49 Mon Sep 17 00:00:00 2001 From: Anthony Barbier Date: Mon, 26 Feb 2018 19:16:32 +0000 Subject: COMPMID-976: Fix warnings for ndk-r16b Change-Id: Ie6f1c2a88ece658eb491caa2c4838fb601104850 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/122302 Tested-by: Jenkins Reviewed-by: Pablo Tello --- arm_compute/core/Dimensions.h | 2 +- .../core/NEON/kernels/convolution/winograd/gemm.hpp | 4 ++-- docs/00_introduction.dox | 19 +++++++++++-------- .../winograd/transforms/output_4x4_3x3_fp32.cpp | 3 --- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/arm_compute/core/Dimensions.h b/arm_compute/core/Dimensions.h index 58ffd7ff3c..5319346866 100644 --- a/arm_compute/core/Dimensions.h +++ b/arm_compute/core/Dimensions.h @@ -50,7 +50,7 @@ public: */ template explicit Dimensions(Ts... dims) - : _id{ { dims... } }, _num_dimensions{ sizeof...(dims) } + : _id{ { static_cast(dims)... } }, _num_dimensions{ sizeof...(dims) } { } diff --git a/arm_compute/core/NEON/kernels/convolution/winograd/gemm.hpp b/arm_compute/core/NEON/kernels/convolution/winograd/gemm.hpp index 62a20c9eea..6e06db324c 100644 --- a/arm_compute/core/NEON/kernels/convolution/winograd/gemm.hpp +++ b/arm_compute/core/NEON/kernels/convolution/winograd/gemm.hpp @@ -65,11 +65,11 @@ inline void BlockedGemm( const int c_row_stride ) { // Array access methods - const auto A = [a, M, K, a_row_stride] (const int i, const int j) -> TIn { + const auto A = [a, a_row_stride] (const int i, const int j) -> TIn { return a[i*a_row_stride + j]; }; - const auto B = [b, K, N, b_row_stride] (const int i, const int j) -> TIn { + const auto B = [b, b_row_stride] (const int i, const int j) -> TIn { return b[i*b_row_stride + j]; }; diff --git a/docs/00_introduction.dox b/docs/00_introduction.dox index 6de2d0f0e3..50efb518af 100644 --- a/docs/00_introduction.dox +++ b/docs/00_introduction.dox @@ -26,8 +26,8 @@ For each release we provide some pre-built binaries of the library [here](https: These binaries have been built using the following toolchains: - Linux armv7a: gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux - Linux arm64-v8a: gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu - - Android armv7a: clang++ / gnustl NDK r14 - - Android am64-v8a: clang++ / gnustl NDK r14 + - Android armv7a: clang++ / gnustl NDK r16b + - Android am64-v8a: clang++ / gnustl NDK r16b @warning Make sure to use a compatible toolchain to build your application or you will get some std::bad_alloc errors at runtime. @@ -108,6 +108,8 @@ You should have the following file organisation: │   │   └── OMPScheduler.h --> OpenMP scheduler (Alternative to the CPPScheduler) │ ├── Memory manager files (LifetimeManager, PoolManager, etc.) │   └── Basic implementations of the generic object interfaces (Array, Image, Tensor, etc.) + ├── data -> Contains test images and reference data dumps used by validation tests + ├── docs -> Contains Doxyfile and Doxygen sources used to generate the HTML pages in the documentation folder. ├── documentation │   ├── index.xhtml │   └── ... @@ -155,6 +157,8 @@ You should have the following file organisation: │ │ ├── Benchmark specific files │ │ ├── CL --> OpenCL benchmarking tests │ │ ├── GLES_COMPUTE --> GLES benchmarking tests + │   │ ├── fixtures + │ │ │ └── Fixtures to initialise and run the runtime Functions. │ │ └── NEON --> NEON benchmarking tests │   ├── datasets │ │ └── Datasets for all the validation / benchmark tests, layer configurations for various networks, etc. @@ -744,18 +748,17 @@ or @subsection S3_3_android Building for Android For Android, the library was successfully built and tested using Google's standalone toolchains: - - NDK r14 arm-linux-androideabi-4.9 for armv7a (clang++) - - NDK r14 aarch64-linux-android-4.9 for arm64-v8a (clang++) + - clang++ from NDK r16b for armv7a + - clang++ from NDK r16b for arm64-v8a Here is a guide to create your Android standalone toolchains from the NDK -- Download the NDK r14 from here: https://developer.android.com/ndk/downloads/index.html +- Download the NDK r16b from here: https://developer.android.com/ndk/downloads/index.html - Make sure you have Python 2 installed on your machine. - Generate the 32 and/or 64 toolchains by running the following commands: - - $NDK/build/tools/make_standalone_toolchain.py --arch arm64 --install-dir $MY_TOOLCHAINS/aarch64-linux-android-4.9 --stl gnustl --api 21 - $NDK/build/tools/make_standalone_toolchain.py --arch arm --install-dir $MY_TOOLCHAINS/arm-linux-androideabi-4.9 --stl gnustl --api 21 + $NDK/build/tools/make_standalone_toolchain.py --arch arm64 --install-dir $MY_TOOLCHAINS/aarch64-linux-android-ndk-r16b --stl gnustl --api 21 + $NDK/build/tools/make_standalone_toolchain.py --arch arm --install-dir $MY_TOOLCHAINS/arm-linux-android-ndk-r16b --stl gnustl --api 21 @attention Due to some NDK issues make sure you use clang++ & gnustl diff --git a/src/core/NEON/kernels/convolution/winograd/transforms/output_4x4_3x3_fp32.cpp b/src/core/NEON/kernels/convolution/winograd/transforms/output_4x4_3x3_fp32.cpp index 8f47736f0c..609823b9e1 100644 --- a/src/core/NEON/kernels/convolution/winograd/transforms/output_4x4_3x3_fp32.cpp +++ b/src/core/NEON/kernels/convolution/winograd/transforms/output_4x4_3x3_fp32.cpp @@ -41,9 +41,6 @@ int Transform::ops_performed(const Tensor4DShape &shape) return 170 * tile_M * tile_N * shape.n_channels; } -// Instantiate cost methods -template int Transform::ops_performed(const Tensor4DShape&); - /* F(4x4, 3x3) constructs 4x4 output tiles from a 3x3 convolution. Since we use * enough tiles to cover the output space each output tile may contain up to 3 * padded values to the right and bottom columns or rows of the tile, e.g.: -- cgit v1.2.1