ComputerVisionまとめの部屋

役に立った情報や調査結果をまとめています

NEON

ARMの標準SIMD命令セットAdvanced SIMD(single instruction multiple data:1命令で複数のデータの演算を行うコンピュータの並列化の形態のこと。パック演算、ベクトル演算とも表現する)の通称。

ARMレジスタの演算処理は1命令で1演算の逐次的処理を行うが、NEONレジスタの演算処理は指定したデータサイズにて1命令で複数の演算処理を行う。ハードを利用して高速化できない部分をさらに高速化するためにNEON化する。

 

NEONコプロセッサを使用する場合、以下の3つの方法から選択することができる。

アセンブリ命令は、ARMプロセッサのパイプラインを考慮したプログラミングが必要となり、コーディングが難しいため、自動ベクトル化とNEON組込み関数の使用する方法が推奨される。