parforによる高速化
显示 更早的评论
①parforによる高速化は、どの程度遅い処理に対して効果が見込めるのでしょうか? また、オーバーヘッドを小さくする方法などありますでしょうか?
②parforのオーバーヘッドは、ワーカーごとにパラメータの実体を用意し、 渡しているために発生しているのでしょうか?
③parpoolを早くする方法はありますか?
以上、よろしくお願い致します。
采纳的回答
更多回答(1 个)
michio
2017-4-19
1 个投票
②についてはおっしゃる通りです。計算に必要なデータのワーカーへの転送に加え、ワーカーから返される結果の転送もオーバーヘッドとして発生します。例えば(可能であれば)各ワーカー上で必要なデータを作成させたり、クライアントに戻す結果を予め選択することで、オーバーヘッドを削減させることができます。
既にご覧になられていなければ、ドキュメンテーションの 「parfor のパフォーマンスの向上」 の冒頭部分や 「タスク関数の作成」 の「タスクによって返されるデータの量を削減する場合」例がオーバーヘッドを削減する際の参考になるかと思います。
parpoolが非常に遅いPCに関しては、下記
などライセンスが関った事例も報告されていますが、原因を詳細に調査できるように、可能であればサポート窓口への問い合わせも検討ください。お問い合わせする際には、保守有効なライセンス番号を確認し、下記のリンクにある Webリクエストフォームまたは電話番号からご連絡下さい。
MATLAB Desktop からもお問い合わせが可能です。デスクトップにある 'サポートのリクエスト'アイコンをクリックして必要事項を記入して送信します。
类别
在 帮助中心 和 File Exchange 中查找有关 並列 for ループ (parfor) 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!