neon最適化実践

1096 ワード

1プラットフォーム
winにvmwareを、vmwareにUbuntuをインストールします.
2開発ツールAndroid NDK
NDK公式サイトにてhttps://developer.android.google.cn/ndk/downloads/index.htmlLinux版のNDKをダウンロードし、解凍して/home/jingao/work/android-ndk-r 14 bに環境変数を追加し、すぐに環境変数を有効にします.
sudo gedit ~/.bashrc

ファイルの最後に次の内容を追加します.
export NDK=/home/jingao/work/android-ndk-r14b
export PATH=${PATH}:$NDK

環境変数を有効にする
source ~/.bashrc

shellにndk-buildと入力し、command not foundが表示されないとインストールに成功します.
3コンパイル
makefileのNDK_をBASEがNDKのパス、すなわち/home/jingao/work/android-ndk-r 14 bに設定され、コンパイルされる
make clean 
make all

実行可能ファイルmainが生成されますが、arm携帯電話でのみ実行できます.
4 SSEにコンパイル
neonコードをSSEバージョンにコンパイルすれば、pc上で実行できます.具体的なやり方は(1)工事中にヘッダファイルNEONvSSEを追加する.h(2)main.c中将
#include 

に改心
//#include 
#include "NEONvsSSE.h"

そしてコンパイル
gcc -Wall -march=core-avx2 -mmmx -o a.out main.c

実行可能ファイルa.outが得られ、pc上で実行できる.