Android プラットフォームへの移植性を判断するために、いくつかの iOS シグナル処理コードを調査しています。ベクトルおよび行列演算に使用される iOS アクセラレータ/veclib(sDSP) フレームワークにはいくつかの方法があります。これらには、vDSP_vflt16 (int から FP への変換)、vDSP_vsmul (ベクトル/スカラー乗算)、vDSP_vsort (ベクトル ソート) などがあります。Android プラットフォームで利用できる同等のフレームワークはありますか? 注:私はこの分野の経験がありません。
3 に答える
RenderScript をご覧ください: http://developer.android.com/guide/topics/renderscript/compute.html RenderScript は、Android 上で計算負荷の高いタスクを高いパフォーマンスで実行するためのフレームワークです。RenderScript は、主にデータ並列計算で使用することを目的としていますが、計算負荷の高いシリアル ワークロードにもメリットがあります。RenderScript ランタイムは、マルチコア CPU、GPU、DSP など、デバイスで利用可能なすべてのプロセッサで作業を並列化します。
うん、これは私も悩みます…
答えはきれいではありませんが、実行可能です。Accelerate の魔法の 1 つは、NEON 処理を使用することです。おそらく同じ関数を Java で記述できますが、Java だけでなく、NEON ではなく CPU で実行されるため、非常に遅くなります。信号処理には適していない可能性があります。
答え?NEONコードを自分で書いてください!Android NDK は、NEON 命令と組み込み関数をサポートしています。これを行うと、Android と iOS で同じ NEON 呼び出しを使用できます。わーい! http://www.crickettechnology.com/blog/?p=691
Android での NEON アクセラレーションに取り組んでいる DSP プロジェクトがいくつかあると思います。
(この質問はこの時点で古いことはわかっていますが、Googleの結果の一番上にあるので、参考のために回答しています。)