<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: How to use the Android NDK to build Arm NN</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
  <td id="projectalign" style="padding-left: 0.9em;">
   <div id="projectname">
   &#160;<span id="projectnumber">24.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('md__build_guide_android_n_d_k.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">How to use the Android NDK to build Arm NN </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#initial-setup">Initial Setup</a></li>
<li><a href="#download-the-android-ndk-and-make-a-standalone-toolchain">Download the Android NDK and make a standalone toolchain</a></li>
<li><a href="#install-cmake">Install Cmake</a></li>
<li><a href="#build-flatbuffers">Build Flatbuffers</a></li>
<li><a href="#download-arm-nn">Download Arm NN</a></li>
<li><a href="#get-and-build-tflite">Get And Build TFLite</a></li>
<li><a href="#build-arm-compute-library">Build Arm Compute Library</a></li>
<li><a href="#build-arm-nn">Build Arm NN</a></li>
<li><a href="#build-standalone-sample-dynamic-backend">Build Standalone Sample Dynamic Backend</a></li>
<li><a href="#run-the-arm-nn-unit-tests-on-an-android-device">Run the Arm NN unit tests on an Android device</a></li>
</ul>
<h1>Introduction</h1>
<p>These are step-by-step instructions for using the Android NDK to build Arm NN. They have been tested on a clean installation of Ubuntu 18.04 and 20.04, and should also work with other OS versions. The instructions show how to build the Arm NN core library and its dependencies.</p>
<p>For ease of use there is a shell script version of this guide located in the scripts directory called <a href="scripts/build_android_ndk_guide.sh">build_android_ndk_guide.sh</a>. Run the script with a -h flag to see the command line parameters.</p>
<p>The shell script version of this guide (build_android_ndk_guide.sh) also provides user the option to use the Arm NN and ComputeLibrary available in your BASE_DIR, instead of downloading a new version. BASE_DIR is path to the script file, which is armnn/scripts/.</p>
<h1>Initial Setup</h1>
<p>First, we need to specify the Android version and the directories you want to build Arm NN in and to install some applications required to build Arm NN and its dependencies.</p>
<div class="fragment"><div class="line">export ANDROID_API=30</div>
<div class="line">export WORKING_DIR=$HOME/armnn-devenv</div>
<div class="line">export NDK_DIR=$WORKING_DIR/android-ndk-r25</div>
<div class="line">export NDK_TOOLCHAIN_ROOT=$NDK_DIR/toolchains/llvm/prebuilt/linux-x86_64</div>
<div class="line">export PATH=$NDK_TOOLCHAIN_ROOT/bin/:$PATH</div>
</div><!-- fragment --><p>You may want to append the above export variables commands to your <code>~/.bashrc</code> (or <code>~/.bash_profile</code> in macOS).</p>
<p>The ANDROID_API variable should be set to the Android API version number you are using. For example, "30" for Android R. The WORKING_DIR can be any directory you have write permissions to.</p>
<h2>Required Applications</h2>
<p>Git is required to obtain Arm NN. If this has not been already installed then install it using: </p><div class="fragment"><div class="line">sudo apt install git</div>
</div><!-- fragment --><p>Arm Compute Library requires SCons. If this has not been already installed then install it using: </p><div class="fragment"><div class="line">sudo apt install scons</div>
</div><!-- fragment --><p>CMake is required to build Arm NN and its dependencies. If this has not been already installed then install it using: </p><div class="fragment"><div class="line">sudo apt install cmake</div>
</div><!-- fragment --><h1>Download the Android NDK and make a standalone toolchain</h1>
<p>Download the Android NDK from <a href="https://developer.android.com/ndk/downloads/index.html">the official website</a>: </p><div class="fragment"><div class="line">mkdir -p $WORKING_DIR</div>
<div class="line">cd $WORKING_DIR</div>
<div class="line"># For Mac OS, change the NDK download link accordingly.</div>
<div class="line">wget https://dl.google.com/android/repository/android-ndk-r25-linux.zip</div>
<div class="line">unzip android-ndk-r25-linux.zip</div>
</div><!-- fragment --><p>With Android NDK-25, you no longer need to use the make_standalone_toolchain script to create a toolchain for a specific version of Android. Android's current preference is for you to just specify the architecture and operating system while setting the compiler and just use the ndk directory.</p>
<h1>Install Cmake</h1>
<p>Cmake 3.19rc3 or later is required to build Arm NN. If you are using Ubuntu 20.04 the command given in <a href="#initial-setup">Initial Setup</a> should install a usable version. If you're using Ubuntu 18.04 you may need to compile cmake yourself.</p>
<div class="fragment"><div class="line">cd $WORKING_DIR</div>
<div class="line">sudo apt-get install libssl-dev</div>
<div class="line">wget https://github.com/Kitware/CMake/releases/download/v3.19.0-rc3/cmake-3.19.0-rc3.tar.gz</div>
<div class="line">tar -zxvf cmake-3.19.0-rc3.tar.gz</div>
<div class="line">cd cmake-3.19.0-rc3</div>
<div class="line">./bootstrap --prefix=$WORKING_DIR/cmake/install</div>
<div class="line">make all install</div>
<div class="line">cd..</div>
</div><!-- fragment --><h1>Build Flatbuffers</h1>
<p>Download Flatbuffers: </p><div class="fragment"><div class="line">cd $WORKING_DIR</div>
<div class="line">wget https://github.com/google/flatbuffers/archive/v23.5.26.tar.gz</div>
<div class="line">tar xf v23.5.26.tar.gz</div>
</div><!-- fragment --><p>Build Flatbuffers for x86: </p><div class="fragment"><div class="line">cd $WORKING_DIR/flatbuffers-23.5.26</div>
<div class="line"> </div>
<div class="line">rm -f CMakeCache.txt</div>
<div class="line"> </div>
<div class="line">rm -rf build-x86</div>
<div class="line">mkdir build-x86</div>
<div class="line">cd build-x86</div>
<div class="line"> </div>
<div class="line">rm -rf $WORKING_DIR/flatbuffers-x86</div>
<div class="line">mkdir $WORKING_DIR/flatbuffers-x86</div>
<div class="line"> </div>
<div class="line">CXXFLAGS=&quot;-fPIC&quot; $CMAKE .. \</div>
<div class="line">    -DFLATBUFFERS_BUILD_FLATC=1 \</div>
<div class="line">    -DCMAKE_INSTALL_PREFIX:PATH=$WORKING_DIR/flatbuffers-x86</div>
<div class="line"> </div>
<div class="line">make all install -j16</div>
</div><!-- fragment --><p>Note: -fPIC is added to allow users to use the libraries in shared objects.</p>
<p>Build Flatbuffers for Android: </p><div class="fragment"><div class="line">cd $WORKING_DIR/flatbuffers-23.5.26</div>
<div class="line"> </div>
<div class="line">rm -f CMakeCache.txt</div>
<div class="line"> </div>
<div class="line">rm -rf build-android</div>
<div class="line">mkdir build-android</div>
<div class="line">cd build-android</div>
<div class="line"> </div>
<div class="line">rm -rf $WORKING_DIR/flatbuffers-android</div>
<div class="line">mkdir $WORKING_DIR/flatbuffers-android</div>
<div class="line"> </div>
<div class="line">CC=/usr/bin/aarch64-linux-gnu-gcc CXX=/usr/bin/aarch64-linux-gnu-g++ \</div>
<div class="line">CXXFLAGS=&quot;-fPIC&quot; \</div>
<div class="line">cmake .. \</div>
<div class="line">    -DCMAKE_ANDROID_NDK=$NDK_DIR \</div>
<div class="line">    -DCMAKE_SYSTEM_NAME=Android \</div>
<div class="line">    -DCMAKE_SYSTEM_VERSION=$ANDROID_API \</div>
<div class="line">    -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \</div>
<div class="line">    -DCMAKE_CXX_FLAGS=--std=c++14 \</div>
<div class="line">    -DFLATBUFFERS_BUILD_FLATC=OFF \</div>
<div class="line">    -DCMAKE_BUILD_TYPE=Release \</div>
<div class="line">    -DFLATBUFFERS_BUILD_TESTS=OFF \</div>
<div class="line">    -DCMAKE_INSTALL_PREFIX=$WORKING_DIR/flatbuffers-android</div>
<div class="line"> </div>
<div class="line">make all install -j16</div>
</div><!-- fragment --><h1>Download Arm NN</h1>
<p>Clone Arm NN:</p>
<div class="fragment"><div class="line">cd $WORKING_DIR</div>
<div class="line">git clone https://github.com/ARM-software/armnn.git</div>
</div><!-- fragment --><p>Checkout the Arm NN branch: </p><div class="fragment"><div class="line">cd armnn</div>
<div class="line">git checkout &lt;branch_name&gt;</div>
<div class="line">git pull</div>
</div><!-- fragment --><p>For example, if you want to check out the 23.02 release branch: </p><div class="fragment"><div class="line">cd armnn</div>
<div class="line">git checkout branches/armnn_23_02</div>
<div class="line">git pull</div>
</div><!-- fragment --><h1>Get And Build TFLite</h1>
<p>This optional step is only required if you intend to build the TFLite delegate or parser for Arm NN.</p>
<p>First clone Tensorflow manually and check out the version Arm NN was tested with: </p><div class="fragment"><div class="line">cd $WORKING_DIR</div>
<div class="line">git clone https://github.com/tensorflow/tensorflow.git</div>
<div class="line">cd tensorflow</div>
<div class="line">git fetch &amp;&amp; git checkout v2.15.0</div>
</div><!-- fragment --><p>Or use the script that Arm NN provides: </p><div class="fragment"><div class="line">git fetch &amp;&amp; git checkout $(../armnn/scripts/get_tensorflow.sh -p)</div>
</div><!-- fragment --><p>Next, set variable TFLITE_ROOT_DIR and build Tensorflow Lite: </p><div class="fragment"><div class="line">export TFLITE_ROOT_DIR=$WORKING_DIR/tensorflow/tensorflow/lite</div>
<div class="line">cd $WORKING_DIR</div>
<div class="line">mkdir -p tflite-out/android</div>
<div class="line">cd tflite-out/android</div>
<div class="line"> </div>
<div class="line">CMARGS=&quot;-DTFLITE_ENABLE_XNNPACK=OFF \</div>
<div class="line">        -DFLATBUFFERS_BUILD_FLATC=OFF \</div>
<div class="line">        -DBUILD_SHARED_LIBS=OFF \</div>
<div class="line">        -DBUILD_TESTING=OFF&quot;</div>
<div class="line"> </div>
<div class="line">CMARGS=&quot;$CMARGS -DCMAKE_TOOLCHAIN_FILE=$NDK_DIR/build/cmake/android.toolchain.cmake \</div>
<div class="line">    -DANDROID_ABI=arm64-v8a \</div>
<div class="line">    -DANDROID_PLATFORM=$ANDROID_API&quot;</div>
<div class="line"> </div>
<div class="line">cmake $CMARGS $TFLITE_ROOT_DIR</div>
<div class="line"> </div>
<div class="line">cd $WORKING_DIR</div>
<div class="line">cmake --build tflite-out/android -j 16</div>
</div><!-- fragment --><p>Now generate the Tensorflow Lite Schema for the TFLite parser: </p><div class="fragment"><div class="line">cd $WORKING_DIR</div>
<div class="line">mkdir -p $WORKING_DIR/tflite-out/tensorflow/tensorflow/lite/schema</div>
<div class="line"> </div>
<div class="line">SCHEMA_LOCATION=$WORKING_DIR/tensorflow/tensorflow/lite/schema/schema.fbs</div>
<div class="line">cp $SCHEMA_LOCATION $WORKING_DIR/tflite-out/tensorflow/tensorflow/lite/schema</div>
<div class="line"> </div>
<div class="line">cd $WORKING_DIR/tflite-out/tensorflow/tensorflow/lite/schema</div>
<div class="line">$WORKING_DIR/flatbuffers-x86/bin/flatc -c --gen-object-api --reflect-types --reflect-names schema.fbs</div>
</div><!-- fragment --><h1>Build Arm Compute Library</h1>
<p>Clone Arm Compute Library:</p>
<div class="fragment"><div class="line">cd $WORKING_DIR</div>
<div class="line">git clone https://github.com/ARM-software/ComputeLibrary.git</div>
</div><!-- fragment --><p>Checkout Arm Compute Library release tag: </p><div class="fragment"><div class="line">cd ComputeLibrary</div>
<div class="line">git checkout &lt;tag_name&gt;</div>
</div><!-- fragment --><p>For example, if you want to check out the 23.02 release tag: </p><div class="fragment"><div class="line">cd ComputeLibrary</div>
<div class="line">git checkout v23.02</div>
</div><!-- fragment --><p>Arm NN and Arm Compute Library are developed closely together. To use a particular version of Arm NN you will need a compatible version of ACL. Arm NN provides a script that downloads the version of Arm Compute Library that Arm NN was tested with: </p><div class="fragment"><div class="line">git checkout $(../armnn/scripts/get_compute_library.sh -p) </div>
</div><!-- fragment --><p>Build the Arm Compute Library: </p><div class="fragment"><div class="line">scons arch=arm64-v8a os=android toolchain_prefix=llvm- compiler_prefix=aarch64-linux-android$ANDROID_API- \</div>
<div class="line">    neon=1 opencl=1 embed_kernels=1 extra_cxx_flags=&quot;-fPIC&quot; \</div>
<div class="line">    benchmark_tests=0 validation_tests=0 -j16</div>
</div><!-- fragment --><h1>Build Arm NN</h1>
<p>Build Arm NN:</p>
<div class="fragment"><div class="line">mkdir $WORKING_DIR/armnn/build</div>
<div class="line">cd $WORKING_DIR/armnn/build</div>
<div class="line">CXX=aarch64-linux-android$ANDROID_API-clang++ \</div>
<div class="line">CC=aarch64-linux-android$ANDROID_API-clang \</div>
<div class="line">CXX_FLAGS=&quot;-fPIE -fPIC&quot; \</div>
<div class="line">cmake .. \</div>
<div class="line">    -DCMAKE_BUILD_TYPE=Release \</div>
<div class="line">    -DCMAKE_ANDROID_NDK=$NDK_DIR \</div>
<div class="line">    -DNDK_VERSION=r25 \</div>
<div class="line">    -DCMAKE_SYSTEM_NAME=Android \</div>
<div class="line">    -DCMAKE_SYSTEM_VERSION=$ANDROID_API \</div>
<div class="line">    -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \</div>
<div class="line">    -DCMAKE_SYSROOT=$WORKING_DIR/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/sysroot \</div>
<div class="line">    -DARMCOMPUTE_ROOT=$WORKING_DIR/ComputeLibrary \</div>
<div class="line">    -DARMCOMPUTE_BUILD_DIR=$WORKING_DIR/ComputeLibrary/build \</div>
<div class="line">    -DARMCOMPUTENEON=1 -DARMCOMPUTECL=1 -DARMNNREF=1 \</div>
<div class="line">    -DFLATBUFFERS_INCLUDE_PATH=$WORKING_DIR/flatbuffers-x86/include \</div>
<div class="line">    -DFLATBUFFERS_ROOT=$WORKING_DIR/flatbuffers-android \</div>
<div class="line">    -DFLATC_DIR=$WORKING_DIR/flatbuffers-x86 \</div>
<div class="line">    -DBUILD_UNIT_TESTS=1 \</div>
<div class="line">    -DBUILD_TESTS=1 \</div>
<div class="line">    -fexception \</div>
</div><!-- fragment --><p>To include the Arm NN TFLite delegate add these arguments to the above list:</p>
<div class="fragment"><div class="line">-DBUILD_ARMNN_TFLITE_DELEGATE=1 \</div>
<div class="line">-DTENSORFLOW_ROOT=$WORKING_DIR/tensorflow \</div>
<div class="line">-DTFLITE_LIB_ROOT=$WORKING_DIR/tflite-out/android \</div>
<div class="line">-DTFLITE_ROOT_DIR=$WORKING_DIR/tensorflow/tensorflow/lite \</div>
</div><!-- fragment --><p>To include the Arm NN TFLite Parser add these arguments to the above list:</p>
<div class="fragment"><div class="line">-DBUILD_TF_LITE_PARSER=1 \</div>
<div class="line">-DTF_LITE_GENERATED_PATH=$WORKING_DIR/tflite-out/tensorflow/tensorflow/lite/schema \</div>
<div class="line">-DTENSORFLOW_ROOT=$WORKING_DIR/tensorflow \</div>
<div class="line">-DTFLITE_LIB_ROOT=$WORKING_DIR/tflite-out/android \</div>
</div><!-- fragment --><p>To include standalone sample dynamic backend tests, add these arguments to enable the tests and the dynamic backend path to the CMake command:</p>
<div class="fragment"><div class="line">    -DSAMPLE_DYNAMIC_BACKEND=1 \</div>
<div class="line">    -DDYNAMIC_BACKEND_PATHS=$SAMPLE_DYNAMIC_BACKEND_PATH</div>
<div class="line"># Where $SAMPLE_DYNAMIC_BACKEND_PATH is the path where libArm_SampleDynamic_backend.so library file is pushed</div>
</div><!-- fragment --><ul>
<li>Run the build <div class="fragment"><div class="line">make -j16</div>
</div><!-- fragment --></li>
</ul>
<h1>Build Standalone Sample Dynamic Backend</h1>
<p>This step is optional. The sample dynamic backend is located in armnn/src/dynamic/sample </p><div class="fragment"><div class="line">mkdir build</div>
<div class="line">cd build</div>
</div><!-- fragment --><ul>
<li>Use CMake to configure the build environment, update the following script and run it from the armnn/src/dynamic/sample/build directory to set up the Arm NN build: <div class="fragment"><div class="line">#!/bin/bash</div>
<div class="line">CXX=aarch64-linux-android$ANDROID_API-clang++ \</div>
<div class="line">CC=aarch64-linux-android$ANDROID_API-clang \</div>
<div class="line">CXX_FLAGS=&quot;-fPIE -fPIC&quot; \</div>
<div class="line">cmake \</div>
<div class="line">    -DCMAKE_C_COMPILER_WORKS=TRUE \</div>
<div class="line">    -DCMAKE_CXX_COMPILER_WORKS=TRUE \</div>
<div class="line">    -DCMAKE_ANDROID_NDK=$NDK_DIR \</div>
<div class="line">    -DCMAKE_SYSTEM_NAME=Android \</div>
<div class="line">    -DCMAKE_SYSTEM_VERSION=$ANDROID_API \</div>
<div class="line">    -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a \</div>
<div class="line">    -DCMAKE_SYSROOT=$WORKING_DIR/android-ndk-r25/toolchains/llvm/prebuilt/linux-x86_64/sysroot \</div>
<div class="line">    -DCMAKE_CXX_FLAGS=--std=c++14 \</div>
<div class="line">    -DCMAKE_EXE_LINKER_FLAGS=&quot;-pie -llog&quot; \</div>
<div class="line">    -DCMAKE_MODULE_LINKER_FLAGS=&quot;-llog&quot; \</div>
<div class="line">    -DARMNN_PATH=$WORKING_DIR/armnn/build/libarmnn.so ..</div>
</div><!-- fragment --></li>
<li>Run the build <div class="fragment"><div class="line">make</div>
</div><!-- fragment --></li>
</ul>
<h1>Run the Arm NN unit tests on an Android device</h1>
<ul>
<li>Push the build results to an Android device and make symbolic links for shared libraries: Currently adb version we have used for testing is 1.0.41. <div class="fragment"><div class="line">adb push libarmnn.so /data/local/tmp/</div>
<div class="line">adb push libtimelineDecoder.so /data/local/tmp/</div>
<div class="line">adb push libtimelineDecoderJson.so /data/local/tmp/</div>
<div class="line">adb push GatordMock /data/local/tmp/</div>
<div class="line">adb push libarmnnBasePipeServer.so /data/local/tmp/</div>
<div class="line">adb push libarmnnTestUtils.so /data/local/tmp/</div>
<div class="line">adb push UnitTests /data/local/tmp/</div>
<div class="line">adb push $NDK_DIR/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so /data/local/tmp/</div>
</div><!-- fragment --></li>
<li>Push the files needed for the unit tests (they are a mix of files, directories and symbolic links): <div class="fragment"><div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/testSharedObject</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/backendsCommon/test/testSharedObject/* /data/local/tmp/src/backends/backendsCommon/test/testSharedObject/</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/testDynamicBackend</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/backendsCommon/test/testDynamicBackend/* /data/local/tmp/src/backends/backendsCommon/test/testDynamicBackend/</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath1</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/backendsCommon/test/backendsTestPath1/* /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath1/</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath2</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/backendsCommon/test/backendsTestPath2/Arm_CpuAcc_backend.so /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath2/</div>
<div class="line">adb shell ln -s Arm_CpuAcc_backend.so /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath2/Arm_CpuAcc_backend.so.1</div>
<div class="line">adb shell ln -s Arm_CpuAcc_backend.so.1 /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath2/Arm_CpuAcc_backend.so.1.2</div>
<div class="line">adb shell ln -s Arm_CpuAcc_backend.so.1.2 /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath2/Arm_CpuAcc_backend.so.1.2.3</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/backendsCommon/test/backendsTestPath2/Arm_GpuAcc_backend.so /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath2/</div>
<div class="line">adb shell ln -s nothing /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath2/Arm_no_backend.so</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath3</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath5</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/backendsCommon/test/backendsTestPath5/* /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath5/</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath6</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/backendsCommon/test/backendsTestPath6/* /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath6/</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath7</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath9</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/backendsCommon/test/backendsTestPath9/* /data/local/tmp/src/backends/backendsCommon/test/backendsTestPath9/</div>
<div class="line"> </div>
<div class="line">adb shell mkdir -p /data/local/tmp/src/backends/dynamic/reference</div>
<div class="line">adb push -p $WORKING_DIR/armnn/build/src/backends/dynamic/reference/Arm_CpuRef_backend.so /data/local/tmp/src/backends/dynamic/reference/</div>
</div><!-- fragment --></li>
</ul>
<p>If the standalone sample dynamic tests are enabled, also push libArm_SampleDynamic_backend.so library file to the folder specified as $SAMPLE_DYNAMIC_BACKEND_PATH when Arm NN is built. This is the example when $SAMPLE_DYNAMIC_BACKEND_PATH is specified as /data/local/tmp/dynamic/sample/:</p>
<div class="fragment"><div class="line">adb shell mkdir -p /data/local/tmp/dynamic/sample/</div>
<div class="line">adb push -p $WORKING_DIR/armnn/src/dynamic/sample/build/libArm_SampleDynamic_backend.so /data/local/tmp/dynamic/sample/</div>
</div><!-- fragment --><p>If the delegate was built, push the delegate unit tests too. </p><div class="fragment"><div class="line">adb push $WORKING_DIR/armnn/build/delegate/DelegateUnitTests /data/local/tmp/</div>
<div class="line">adb push $WORKING_DIR/armnn/build/delegate/libarmnnDelegate.so /data/local/tmp/</div>
</div><!-- fragment --><p>Run Arm NN unit tests: </p><div class="fragment"><div class="line">adb shell &#39;LD_LIBRARY_PATH=/data/local/tmp:/vendor/lib64:/vendor/lib64/egl /data/local/tmp/UnitTests&#39;</div>
</div><!-- fragment --><p>If the delegate was built run Arm Delegate NN unit tests: </p><div class="fragment"><div class="line">adb shell &#39;LD_LIBRARY_PATH=/data/local/tmp:/vendor/lib64:/vendor/lib64/egl /data/local/tmp/DelegateUnitTests&#39;</div>
</div><!-- fragment --><p>If libarmnnUtils.a is present in <code>$WORKING_DIR/armnn/build/</code> and the unit tests run without failure then the build was successful. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="buildguides.html">Build Guides</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:54 for Arm NN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
