データの大きな配列を乗算および除算する最速の方法が必要です。
私はこれを読みました(Ben Voigtがここに書いた):
現在のバージョンでは、.NET は MMX、SSE、または AVX を使用していません。
(...)
最新の C++ コンパイラは、SIMD の使用を許可するだけでなく、通常のコードを SIMD 命令に自動ベクトル化できます。
.
私が必要だと思う:
ベクトル演算による SSE サポート (一度に 4 つの float を乗算するため)
マルチスレッドのサポート (C# スレッドと何らかの形で衝突しないソリューション/ライブラリ)
使用できるライブラリ/dll はありますか?
編集: Octave の代替案はありますか? 除算、乗算の 2 つの操作だけが必要です。Octaveとは何か、それがどのように機能するかを正しく理解していれば、出力を解析する必要があります...高速にはなりません...
「何を試しましたか」と「なぜシンプルを使いたくないのか」によるとfor
:
これは、ニューラル ネットワークのトレーニングに必要です。ネットワーク (現在) には 50 を超える入力、多くのニューロン (それぞれ 50 以上の重み) があります。学習データには、100.000 行以上、それぞれ 50 以上のフィールドが含まれます。各ニューロン入力には、少数 (少なくとも 5 回) の乗算演算が必要です。
必要な学習エポックの数はわかりませんが、乗算演算のみをベンチマークしようとしたところ、Intel Core Duo T2500 2.0GHz CPU でエポックあたり約 16 秒という結果が得られました。
もちろん、より高速なコンピューターを購入することもできますが、新しいコンピューターは私の数時間の作業よりも価値があるので、論理的に見えることを願っています...