MNN编译

    默认关闭,关闭时,不保留符号,开启优化。

    MNN_OPENMP

    默认开启,关闭后,禁用openmp多线程优化,仅限Android/Linux上开启。

    默认关闭,开启后,编译OpenCL部分,可以通过指定MNN_FORWARD_OPENCL利用GPU进行推理。

    MNN_OPENGL

    默认关闭,开启后,编译OpenGL部分,可以通过指定MNN_FORWARD_OPENGL利用GPU进行推理。

    MNN_METAL

    默认关闭,开启后,编译Metal部分,可以通过指定MNN_FORWARD_METAL利用GPU进行推理,仅限iOS或macOS上开启。

    步骤如下:

    1. 安装cmake(建议使用3.10或以上版本)
    2. cd /path/to/MNN
    3. ./schema/generate.sh
    4. ./tools/script/get_model.sh(可选,模型仅demo工程需要)

    编译完成后本地出现MNN的动态库。

    交叉编译

    交叉编译工具链可使用

    1. 下载AArch64交叉编译工具链 ```bash mkdir -p linaro/aarch64 cd linaro/aarch64

    tar xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz

    export cross_compile_toolchain=linaro/aarch64/aarch64-linux-gnu

    1. 编译MNN
      1. cd build
      2. cmake ..
      3. make -j4

    步骤如下:

    1. 安装cmake(建议使用3.10或以上版本)
    2. 在下载安装NDK,最好不要超过r17、r18及之后的ndk版本(否则,无法使用gcc编译,且clang在编译32位的so时有bug)
    3. 在 .bashrc 或者 .bash_profile 中设置 NDK 环境变量,eg: export ANDROID_NDK=/Users/username/path/to/android-ndk-r14b
    4. cd /path/to/MNN
    5. ./schema/generate.sh
    6. ./tools/script/get_model.sh(可选,模型仅demo工程需要)
    7. cd project/android
    8. 编译armv7动态库:

    在macOS下,用Xcode打开project/ios/MNN.xcodeproj,点击编译即可