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に環境変数を追加し、すぐに環境変数を有効にします.
ファイルの最後に次の内容を追加します.
環境変数を有効にする
shellにndk-buildと入力し、command not foundが表示されないとインストールに成功します.
3コンパイル
makefileのNDK_をBASEがNDKのパス、すなわち/home/jingao/work/android-ndk-r 14 bに設定され、コンパイルされる
実行可能ファイルmainが生成されますが、arm携帯電話でのみ実行できます.
4 SSEにコンパイル
neonコードをSSEバージョンにコンパイルすれば、pc上で実行できます.具体的なやり方は(1)工事中にヘッダファイルNEONvSSEを追加する.h(2)main.c中将
に改心
そしてコンパイル
実行可能ファイルa.outが得られ、pc上で実行できる.
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上で実行できる.