答えて
私はすべてのコードを読むつもりはありません。私が見る通り、これは加算部分です
for(i=0;i<r1;i++)
for(j=0;j<c1;j++)
C[i][j]=A[i][j]+B[i][j];
これは複雑さを改善することはできません。などの代わりにi++
の++i
をやったり、ループの順序を変更するなどmicrooptimizations他のタイプについて - 私はあなたがこれらのは、あなたのパフォーマンスのボトルネックであることをあなたに示してプロファイラを実行したまであなたがこれらを気にしないべきだと思います。あなたが正しい順序でループのためのあなたの2を得るよう時期尚早の最適化はあまりにも長い間、すべての悪 :)
+1 "根の悪い" – Constantinius
よく、あなたは後でそれを修正する必要はありませんので、ループの順序について考えることができます。数秒かかることはありません。また、OPは*特に*効率的な計算について尋ねました。 –
生成されたASMコードをチェックしましたが、読みにくいですが、SIMD命令が表示されないので、大きな行列では明らかに最善の解決策ではありません。 –
ループのナイーブダブルポータブルコードの最適にかなり近いのルートであることを覚えておいてください。最高のパフォーマンスを得るには、順次メモリにアクセスする必要があります。
あなたはループを展開でしたが、これはパフォーマンスに非常に大きな違いをすることはありません。
あなたが最高のパフォーマンスをしたい場合は、それを自分で書いて、代わりに、ご使用のプラットフォーム向けに最適化されたBLASを使用しないでください。
あなたは集中的な操作を実行するためのCPUの代わりにGPUを使用しようとすることができます。このためにAMPを使用することができます。
SSEはGPUではなくCPU上にあります。 GPUはかなり速いかもしれませんが、あなたはSSEでそれを得ることはありません。 –
私の悪い、AMPはGPUを使用しています。 – cprogrammer
AMPはすでに使用できますか? – Bart
- 1. 新しい列を追加するとシステムの効率を向上させる行が追加されます
- 2. 標準行列乗算アルゴリズムの効率を改善しますか?
- 3. 標準的なココアコントロールを効率的にサブクラス化する
- 4. Python - どのように複雑な再帰関数の効率を向上させるには?
- 5. どのように異なるアルゴリズムの効率をテストする
- 6. 同時辞書アクセスの効率を向上させるC#
- 7. Pythonでスパース行列を効率的に追加する方法
- 8. は、効率的な標準アルゴリズムがその内側の領域を含むポリゴンがラスタにです
- 9. はどのように効率的に
- 10. はどのように効率的に
- 11. インクリメント演算子(++/- )はプログラムの効率をどのように向上させるのですか
- 12. アルマジロキューブに1の列を追加する効率的な方法
- 13. フレーズアナグラムの効率的なアルゴリズム
- 14. treeviewブランチを追加する最も効率的なアルゴリズム
- 15. 標準アウトラインをどのように追加しますか?
- 16. 効率性と全体的な効率性を向上させるためにどのようなツールを使用しますか
- 17. numpyで行列加算を行う効率的な方法
- 18. どのようにアプリのパフォーマンスを向上させるには?
- 19. 行列内の重複する行をチェックする効率的なアルゴリズム
- 20. どのようにC++標準がC++コンパイラのデフォルトですか?
- 21. このアルゴリズムをより効率的に書くには
- 22. どのように標準ANSI Cでこれを行うための任意の方法または標準的な慣習があり、Pythonで
- 23. 標準的なZIPではどのアルゴリズムが使用されていますか?
- 24. f#fibbonaci効率的なアルゴリズム
- 25. インデックスを効率的に追加する
- 26. MySQLの更新クエリの効率を向上させる
- 27. エラトステネスのシーブの効率を向上させるコード
- 28. フィルタリングのための効率的なアルゴリズム
- 29. 行列の各要素の最近傍の標準偏差を計算する効率的な方法
- 30. どのようにより効率的に圧延率
C++に切り替えて、Eigen :) – rubenvb
の可能な複製を使用してください。[Standard Matrix Multiplication Algorithmの効率向上](http://stackoverflow.com/questions/6900711/improving-the-efficiency-of-standard-matrix-乗算アルゴリズム) – QuantumMechanic