ArrayFire.jlを使用してベクトル演算を実行しようとしていますが、ベクトルクロス積の関数がArrayfireに実装されていません。 JuliaのArrayfire.jlラッパーを効率的に使用して計算するための回避策はありますか?単純な方法で関数を定義することは、デバイスとホスト間のすべてのデータ転送のために実際には遅いですし、これを解決する方法を理解するのに十分なラッパー関数を理解していません。Arrayfire.jlを使用したベクトルクロス製品の回避策として考えられるものはありますか?
私は次のように動作するはずだと思うcross(a::ArrayFire.AFArray, b::ArrayFire.AFArray) = ArrayFire.AFArray([a[2]*b[3]-a[3]*b[2]; a[3]*b[1]-a[1]*b[3]; a[1]*b[2]-a[2]*b[1]]);
ですから、この使用して、配列の火をしたいか、または単に(非常に高速であるクロス機能が組み込まれています...)ジュリアのlinalgを使用して –
私はArrayFireを使用して、それをしたいので、私はオフロードすることができますGPUへの計算と私のコードのスピードアップ。 – Boxed
3つのAFArraysをとり、与えた定義を使って最初の要素を設定するバージョンを書くことができますか? –