gcc の最適化とNEON 最適化ライブラリを使用した時の性能2

2015年7月8日 | By News | Filed in: News.

Source: http://marsee101.blog19.fc2.com/blog-entry-3194.html

gcc の最適化とNEON 最適化ライブラリを使用した時の性能”の続き。

gcc の最適化とNEON 最適化ライブラリを使用した時の性能”の時は、gcc 4.6 でコンパイルしていたが、今回は gcc 4.8 にアップグレードして同様にラプラシアンフィルタの異なるソフトウェアをコンパイルして実行時間を比較してみた。
NEON_11_150708.png

使用したラプラシアンフィルタのソフトウェアの詳細については、”gcc の最適化とNEON 最適化ライブラリを使用した時の性能”を参照のこと。

最初は、 laplacian_filter1 を -O オプション無し、-O1、-O2、-O3、-Os、NEON最適化ライブラリ・オプションを付けてコンパイルし、実行してラプラシアンフィルタ処理のみの経過時間を測定した。
NEON_12_150708.png

次に、 laplacian_filter2 を -O オプション無し、-O1、-O2、-O3、-Os、NEON最適化ライブラリ・オプションを付けてコンパイルし、実行してラプラシアンフィルタ処理のみの経過時間を測定した。
NEON_13_150708.png

laplacian_filter3 を -O オプション無し、-O1、-O2、-O3、-Os、NEON最適化ライブラリ・オプションを付けてコンパイルし、実行してラプラシアンフィルタ処理のみの経過時間を測定した。
NEON_14_150708.png

laplacian_filter4 を -O オプション無し、-O1、-O2、-O3、-Os、NEON最適化ライブラリ・オプションを付けてコンパイルし、実行してラプラシアンフィルタ処理のみの経過時間を測定した。
NEON_15_150708.png

NEON最適化ライブラリ・オプションなのだが、-O3 を付けてコンパイルしていた。これも -O3 が適当かどうかを調べるために -O オプション無し、-O1、-O2、-O3、-Os オプションを付けてラプラシアンフィルタ処理時間を測定した。

laplacian_filter1 の場合の結果を下に示す。
NEON_16_150708.png

laplacian_filter2 の場合の結果を下に示す。
NEON_17_150708.png

laplacian_filter3 の場合の結果を下に示す。
NEON_18_150708.png

laplacian_filter4 の場合の結果を下に示す。
NEON_19_150708.png

次に、-mfloat-abi=hard オプションを付けた時の各ラプラシアンフィルタ・ソフトウェアをコンパイルした時の結果を示す。
NEON_20_150708.png

最後に、上のコマンドから、-ftree-vectorize オプションを取り除いた時の各ラプラシアンフィルタ・ソフトウェアをコンパイルした時の結果を示す。
NEON_21_150708.png

AXI4-Stream版 laplacian filterのCソースコードの違いと最適化オプションの違いによる処理時間の表を下に示す。gcc 4.6 と gcc 4.8 の処理時間も書いた。
NEON_22_150708.png

gcc 4.6 と gcc 4.8 では、細かな違いはあるが大きな性能差や傾向の差は無いようだ。

”gcc の最適化とNEON 最適化ライブラリを使用した時の性能”の続き。”gcc の最適化とNEON 最適化ライブラリを使用した時の性能”の時は、gcc 4.6 でコンパイルしていたが、今回は gcc 4.8 にアップグレードして同様にラプラシアンフィルタの異なるソフトウェアをコンパイルして実行時間を比較してみた。使用したラプラシアンフィルタのソフトウェアの詳細については、”gcc の最適化とNEON 最適化ライブラリを使用した時の性能”を参照


发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注