ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink へのデータのパラレル化の実装

次の例は、Simulink® モデル内のシステムにデータのパラレル化を実装する方法を示しています。このモデルは、入力、各入力に適用される機能コンポーネント、連結された出力で構成されます。データのパラレル化の詳細については、パラレル化のタイプを参照してください。

このモデルを同時実行用に設定します。完成したモデルを見るには、ex_data_parallelism_top を開きます。

  1. このモデル内の領域を参照モデルに変換します。同じ参照モデルを使用して、入力を処理する各機能コンポーネントを置き換えます。次の図は、サンプル コンフィギュレーションを示しています。

  2. 最上位モデルのモデル コンフィギュレーション パラメーターを開きます。[MAT ファイルのログ] チェック ボックスをオフにします。

  3. [ソルバー] ペインで、[タイプ][固定ステップ] に設定し、[適用] をクリックします。また、[周期的なサンプル時間の制約][制約なし] に設定されていることを確認します。[追加オプション] で、[ターゲット上でタスクの同時実行を許可] を選択し、[タスクの構成] をクリックします。

  4. [同時実行] ダイアログ ボックスの右側のペインで、[同時実行用に明示的なモデル分割を有効にする] チェック ボックスをオンにします。明示的な分割を使用することにより、モデルを手動で分割できます。

  5. 選択ペインで、[CPU] を選択します。[タスクの追加] を 4 回クリックし、新しいタスクを 4 つ追加します。

  6. 選択ペインで、[タスクとマッピング] を選択します。[タスクにブロックをマッピング] ペインで次を行います。

    • [Block: Input][select task] をクリックし、[Periodic: Task] を選択します。

    • [Block: Function 1] で、[Periodic: Task1] を選択します。

    • [Block: Function 2] で、[Periodic: Task2] を選択します。

    • [Block: Function 3] で、[Periodic: Task3] を選択します。

    • [Block: Output] で、[Periodic: Task] を選択します。

    これは、作成したタスクに分割をマッピングします。InputOutput モデル ブロックは 1 つのタスク上にあります。各機能コンポーネントは個々のタスクに割り当てられます。

  7. 選択ペインで、[Data Transfers] を選択します。[データ転送オプション] ペインで、パラメーター [周期信号][Ensure deterministic transfer (minimum delay)] に設定します。[適用] をクリックして、[同時実行] ダイアログ ボックスを閉じます。

  8. これらのコンフィギュレーション パラメーターをすべての参照モデルに適用します。詳細については、複数モデル間でコンフィギュレーションを共有するを参照してください。

モデルを更新し、個別のモデル ブロックにマッピングされたタスクを確認します。

関連する例

詳細