マルチコア プロセッサで実行するスレッドレベルの順次プログラムを自動的に並列化します。 私はlvmやopenIMPACTなどのコンパイラを使用していません。このトピックで私を助けてください。自動並列化
Q
自動並列化
0
A
答えて
0
データストリームを介して通信するタスクのパイプラインに順次プログラムを分割したいとします。たとえばCまたはC++プログラムを想定すると、アプリケーションを手作業で並列タスクのネットワークに書き換える必要があります。タスクとコミュニケーションの作成に役立つさまざまなAPIがあります。これにうまく収まる正式なモデルはKahn Process Networks(KPN)です。
明らかに、実際の課題は、すべての通信を明示的なデータストリームに公開するようにコードを書き直すことです。アプリケーションに応じて多くの作業を行うことができます。
実装のために、OpenMPはタスクの並列処理をサポートしています。効率的なストリーミングAPIのためにvfTasks library(C/C++)を見てください。あなたは、あなたが気にしているアーキテクチャに簡単に移植することができます。 (免責事項:私は著者の一人です)。
関連する問題
- 1. gfortranとの自動並列化
- 2. .netアプリケーションを自動的に並列化する
- 3. スパークストリーミングユニオンストリーム並列化
- 4. 並列化レベル
- 5. JavaScriptの自動化の自動化
- 6. バッチアプリケーションの並列化
- 7. Sparkで並列化
- 8. ビットマップの並列化
- 9. Minitabの自動化とスキップ列
- 10. 配列内の合計を自動化
- 11. 自動シリアル化
- 12. 自動化
- 13. 自動化
- 14. 自動化ビルドアップロード
- 15. 自動化タスク
- 16. モンテカルロパイ近似の並列化
- 17. モンテカルロ積分の並列化
- 18. Active Directoryクエリの並列化
- 19. Spark to Flink並列化メソッド
- 20. MinGW並列化:CreateProcessエラー
- 21. Kerasのデータ並列化
- 22. レンダリングループ - 最大並列化
- 23. ThreadPoolでの並列スレッド化
- 24. CC.NET:NUnitテストの並列化
- 25. TensorFlow while_loopの並列化TensorArray
- 26. OpenMP並列化(Block Matrix Mult)
- 27. ヒストグラム関数の並列化
- 28. R:foreachとの並列化
- 29. CUDAの並列化作業
- 30. Python - ループの並列化
自動的に自動的に来る並列化についてはほとんどありません...もっと詳しくお願いしますか? – Crisfole
プログラムを複数のパーティションに分割し、各パーティションをスレッドに割り当て、パイプラインモデルでスレッドを実行します。もちろん、プログラムの指示間の依存性に関心があります。 – neda
命令の依存関係については忘れてください。より根本的な問題はデータ依存です。スライスに簡単に分割し、それぞれのデータに応じてスレッドを使わずに別々に処理できる大量のデータがありますか?そうすれば、いくつかの自動並列化(OMP、VC++ parallel_Forなど)を実行できる可能性があります。これはどの言語ですか? –