zoukankan      html  css  js  c++  java
  • NCNN性能测试笔记

    NCNN 性能测试笔记

    作者:Shengjie

    更新时间:2019/12/31


    编译:Linux/Android

    Linux 编译

    1、克隆仓库

    git clone git@github.com:liushengjiezj/perf_test_ncnn.git

    2、设置编译选项为“Clang”

    **安装clang和libomp**
    sudo apt-get install clang
    sudo apt-get install libomp-dev
    ---
    sudo dnf install clang
    sudo dnf install libomp-devel
    **设置环境变量**
    export CC=/usr/bin/clang;export CXX=/usr/bin/clang++
    

    3、编译

    cd op_per_test_ncnn
    mkdir build
    cd build
    cmake ..
    make -j4
    
    TO-DO:
    hi3516cv500Linux编译
    

    Android 编译

    1、克隆仓库

    git clone git@github.com:liushengjiezj/perf_test_ncnn.git

    2、编译

    **Android ARM64**
    export ANDROID_NDK=/root/peter/android-ndk-r18b/;export VULKAN_SDK=/root/peter/autoTest/sj/1.1.92.1/x86_64
    
    mkdir build-android-arm64
    cd build-android-arm64
    
    $ cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake 
        -DANDROID_ABI="arm64-v8a" 
        -DANDROID_PLATFORM=android-21 ..
    
    # if you want to enable vulkan, platform api version >= android-24 is needed
    $ cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake 
        -DANDROID_ABI="arm64-v8a" 
        -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON ..
        
    make -j20
    make install
    
    **Android ARM32**
    export ANDROID_NDK=/root/peter/android-ndk-r18b/;export VULKAN_SDK=/root/peter/autoTest/sj/1.1.92.1/x86_64
    
    mkdir build-android-arm32
    cd build-android-arm32
    
    $ cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake 
        -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON 
        -DANDROID_PLATFORM=android-14 ..
    
    
    # if you want to enable vulkan, platform api version >= android-24 is needed
    $ cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake 
        -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON 
        -DANDROID_PLATFORM=android-24 -DNCNN_VULKAN=ON ..
    
    make -j20
    make install
    

    运行测试:Linux/Android

    Linux 性能测试

    **env init**
    cd op_perf_test_ncnn
    cd build
    cd benchmark
    cp ../../benchmark_op/models/* .
    
    **start testing**
    taskset -c 0,1,2,3 ./benchncnn 10 4 1
    

    Android 性能测试

    **env init**
    cd op_perf_test_ncnn
    cd build-android-arm32/build-android-arm64
    cd benchmark
    cp ../../benchmark_op/models/* .
    cd ..
    adb -s 10.11.5.* push benchmark /data/local/tmp/
    
    **start testing**
    adb -s 10.11.5.* shell < tmp > log 2>&1
    
    tmp file:
    cd /data/local/tmp/benchmark
    chmod +x benchncnn
    ./benchncnn 10 1 2
    ./benchncnn 10 2 2
    ./benchncnn 10 1 1
    ./benchncnn 10 4 1
    

    收集&整理结果

    1、将所有 Log 保存到本机

    2、运行以下命令提取时间

    grep "min" ./raw_data.txt | awk '{print $4"/",$7"/",$10}' | tr -d "[:blank:]" > ooo
    

    3、将提取出的时间写入到 Excel

  • 相关阅读:
    搜索------深度优先DFS-----模板2:例1 例2 例3 例4
    memset
    if(!a)
    bailian 2698
    皇后问题
    搜索------深度优先DFS-----模板1:例1 例2 例3 例4
    bailian 2754八皇后
    ByteCache
    Java-IntegerCache
    JVM运行时数据区
  • 原文地址:https://www.cnblogs.com/liushengchieh/p/14572620.html
Copyright © 2011-2022 走看看