主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

マルチスレッドコシミュレーション

この例では,コシミュレーションを複数のスレッドで実行する方法を示します。

金宝app仿真软件は,ローカルソルバーを含むコンポーネントやシミュレーションツールを使用するコンポーネントの間のコシミュレーションをサポートする統合プラットフォームです。たとえば,s函数を仿真软件とサードパ金宝appーティ製のツールやカスタムコードの間のコシミュレーションのゲートウェイとして含めることができます。また,コシミュレーションモードで仿真金宝app软件にインポートされるFMUを含めることもできます。

金宝app仿真软件の既定の設定では,すべてのモデルについて複数のスレッドで実行するようにMultiThreadCoSimパラメーターが設定されます。

この例では3つのコンポーネント(2つはC-MEX s函数で実装,1つはFMU v2.0を联合仿真使用して実装)のマルチスレッドコシミュレーションを実行する方法を示します。これらのコンポーネントは素数の計算を行い,与えられた入力以下の最大の素数を求めます。

マルチスレッドコシミュレーションは,コンポーネントが疎結合で計算量が多いモデルに最適です。この例では,各コンポーネントで力まかせ探索を使用して素数を計算します。計算の強度は与えられた範囲に正比例します。これはブロック入力で試すことができます。また,コンポーネントの通信時に,与えられた範囲内の最大の素数であるスカラー信号が交換されます。

試しにMultithreadedSimパラメーターを切り替え,実経過時間を測定してみます。