Многопоточная симуляция на основе графа

Этот пример показывает, как основанные на графе алгоритмы оптимизируют симуляцию на нескольких потоках.

Основанный на графе алгоритм

Этот пример содержит четыре недиректных исходных блока, за которыми следуют четыре прямых исходных блока. Прямое сквозное соединение означает, что сигнал выхода порта блока вычисляется из значений его сигналов входа порта в том же временном шаге. Алгоритм, основанный на графе, запускает четыре ненаправленных исходных блока параллельно и группирует следующие прямые исходные блоки в одну и ту же ветвь. Затем модель использует многопоточность, чтобы запустить эти четыре ветви. Таким образом, алгоритм ускоряет симуляцию почти в четыре раза на четырех или более центральных машинах по сравнению с однопоточной симуляцией на одной и той же машине.

Откройте модель и симулируйте

open_system('slexGraphBasedMultiThreadSimExample');

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

Выход

bdclose all;