Main Content

グラフベースのマルチスレッド シミュレーション

この例では、グラフベースのアルゴリズムが複数のスレッドでシミュレーションを最適化する方法を示します。

グラフベースのアルゴリズム

この例には 4 つの非直達ブロックと、その後に続く 4 つの直達ブロックが含まれています。直達とは、ブロックの出力端子信号が同じタイム ステップでその入力端子信号の値から計算されることを意味します。グラフベースのアルゴリズムは 4 つの非直達ブロックを並列実行し、後に続く直達ブロックを同じ分岐にグループ化します。次に、モデルはマルチスレッディングを使用してこれらの 4 つの分岐を実行します。これにより、アルゴリズムは、同じマシンで行うシングルスレッドのシミュレーションと比べて、4 つ以上のコア マシンでシミュレーションをほぼ 4 倍に高速化します。

モデルを開いてシミュレーションを実行

open_system('slexGraphBasedMultiThreadSimExample');

% Press "Toggle MultithreadedSim Parameter" block to turn off / on
% multithreaded simulation and compare the elapsed time.

終了

close_system('slexGraphBasedMultiThreadSimExample');