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

  • 相关阅读:
    【原】得心应手小工具开发——网易公开课课程下载链接提取器
    【原】得心应手小工具开发——快播自动升级杀手
    【原】得心应手小工具开发——初步统计博客园首页博文的回复率
    【原】过去的平面作品整理
    【原】浅谈对社交类网站的忧虑
    【原】到底怎么样才叫看书?——下篇
    【原】得心应手小工具开发——公务员考试之筛选我的职位报名人数的小工具
    【原】《锋利的JQuery》读书笔记(三)
    C#中如何给自定义类的只读属性赋值
    关于 ASP, ASP.NET; VBS, VB.NET, JS, JS.NET, C# 的体会,思考
  • 原文地址:https://www.cnblogs.com/liushengchieh/p/14572620.html
Copyright © 2011-2022 走看看