hirax.net::Tech-logs::*-12-24

2007-12-24[n年前へ]

GNU Octave 3.0リリース 

 GNU Octave 3.0リリース

Compatibility with Matlab graphics is much better.

富士フイルムの画像ソリューション戦略 

 富士フイルムの画像ソリューション戦略

ロロモの世界 

 ロロモの世界

Adobe、低価格なPDF生成サーバーを日本市場に提供開始 

 Adobe、低価格なPDF生成サーバーを日本市場に提供開始

2009-12-24[n年前へ]

世界最小クラスのトイデジタルカメラ 

 「世界最小クラスのトイデジタルカメラ、栄の雑貨店で人気に

 12月12日から販売を開始した小型デジタルカメラ「ポケットデジタルカメラ SQ28m」が人気を集めている。
 ブルーとピンクの2色展開の同カメラのサイズは世界最小クラスの高さ23ミリ×幅53ミリ×奥行き19ミリで、重量は約21グラム。写真の仕上りは 1,280×1,200ピクセルの正方形で、撮影モードも「ノーマル」「モノクロ」「ノイズ」「ビビッド」の4種類を用意。動画も撮影できる。音声は記録されないが、8ミリ映画のような映像を撮影できるという。
 販売価格は5,985円。増産の予定はないという。

2010-12-24[n年前へ]

gccでNEONのSIMD命令を生成させる方法 

 「gccでNEONのSIMD命令を生成させる方法

AndroidのSDKのgoldfishのCPUをcortex-A8に置き換えてNEONのSIMD命令を試す(その2) のときにはarm_neon.hに定義されているintrinsicsを使ってNEONのSIMD命令を生成させました。この方法だとNEONの命令について詳細を知っていなければなりませんし、なによりもそのプログラムがNEONに依存したものになってしまいます。

今回はコンパイラの最適化の機能を使ってNEONのSIMD命令を生成させるコツを紹介します。

ポイントは
* 配列をループで使うこと。
* その配列のポインタに __restrict の属性がついていること。( ex. void vmla2(float* __restrict a) )

コンパイルオプションは以下のものをつけます。
arm-eabi-gcc -O2 -march=armv7-a -ftree-vectorize -mhard-float -mfloat-abi=softfp -mfpu=neon -mvectorize-with-neon-quad