データフローと依存関係グラフの並列化# データフローと依存関係グラフの並列化 基本的なフローグラフの概念 フローグラフの基本: グラフ・オブジェクト フローグラフの基本: ノード フローグラフの基本: エッジ フローグラフの基本: タスクへノードをマッピング フローグラフの基本: メッセージ・パッシング・プロトコル フローグラフの基本: 単一プッシュとブロードキャスト・プッシュ フローグラフの基本: バッファリングと転送 フローグラフの基本: 予約 グラフ・アプリケーションのカテゴリー データ・フロー・グラフ 依存関係グラフ 事前定義ノードタイプ フローグラフのヒントとコツ フローグラフの待機と破棄におけるフローグラフのヒント 常に wait_for_all() を使用する 動的なノード削除の回避 メインスレッド外で実行するグラフの破棄 エッジの作成におけるフローグラフのヒント make_edge と remove_edge の使用 1 つまたは複数の後続への送信 グラフ間の通信 input_node の使用 データ競合の回避 ネストした並列処理におけるフローグラフのヒント ネストしたアルゴリズムを使用したスケーラビリティーの向上 ネストしたフローグラフの使用 リソース消費を制限するフローグラフのヒント limiter_node の使用 同時実行を制限 トークンベース・システムの作成 任意のタスクアリーナにフローグラフをアタッチ タスク・スケジューラーの実行ガイド ワークの分離 例外処理とキャンセルにおけるフローグラフのヒント 例外をスローするノード内部の例外のキャッチ グラフの明示的なキャンセル graph::reset() によるキャンセル済みグラフのリセット ネストされた並列処理のキャンセル フローグラフのパフォーマンス推定