Моя цель - оптимизировать время, необходимое для запуска набора тестовых примеров моделирования. У меня проблемы с запуском теста с функциями параллельной обработки и ускоренного моделирования. https://www.mathworks.com/help/simulink/ug/how-the-acceleration-modes-work.html
Контекст:
У меня есть 29 файлов Simulink, которые вызываются внутри параметризованного модульного теста Matlab. В файлах Simulink есть много эталонных моделей. Перед запуском 20-секундной симуляции для каждого simulink, simulinks должны загрузить все опорные модели и создать множество артефактов симуляции в рабочей папке. Между проектами simulink используется множество эталонных моделей. У проектов simulink есть эталонная модель 64/187, которая работает в ускоренном режиме. В обычном режиме создаются файлы .mexw64, а в ускоренном режиме создаются файлы .slxc и .mexw64 в рабочей папке.
Действие:
- Один раз провожу 1 тест. Все в штатном режиме. Мои тесты прошли успешно.
- Провожу последовательно 29 тестов. Все в штатном режиме. Мои тесты прошли успешно.
- Я запускаю 1 тест один раз, затем я запускаю 29 тестов в параллельных кластерах. Все в обычном режиме. Мои тесты прошли успешно. (** См. Ссылку №1)
- Я провожу 1 тест один раз, все в режиме ускорителя. Мои тесты прошли успешно.
- Провожу последовательно 29 тестов. Все в режиме акселератора. Мои тесты прошли успешно.
- Я запускаю 1 тест один раз, затем я запускаю 29 тестов в параллельных кластерах, все в режиме ускорителя. Мои тесты не проходят.
Ожидаемые и результаты:
Я ожидал, что моя симуляция, работающая в ускорительном / параллельном режиме, даст те же положительные результаты, что и нормальный / параллельный режим. Но :
- У меня проблема чтения / записи / построения с использованием общих ресурсов на параллельном протекторе, когда я запускаю 2 теста параллельно.
- Мой параллельный поток выходит из строя, когда я пытаюсь запустить 29 одновременно.
Есть идеи, как это исправить?
Я пробовал различные конфигурации сборки в симуляции и настройках сборки, я пытался уменьшить количество ускоренных целей и читал онлайн-ресурсы.
Ошибка:
#1
Building with 'Microsoft Visual C++ 2015 (C)'.
LINK : fatal error LNK1104: cannot open file 'D:\GIT\***\***\work\sim_artifacts\***_src_msf.mexw64'
NMAKE : fatal error U1077: 'C:\PROGRA~1\MATLAB\R2017b\bin\win64\mex.EXE' : return code '0xffffffff'
Stop.
The make command returned an error of 2
'An_error_occurred_during_the_call_to_make' is not recognized as an internal or external command,
operable program or batch file.
### Build procedure for model: '***_src' aborted due to an error.
#2
The client lost connection to worker 4. This might be due to network problems,
or the interactive communicating job might have errored.
Ссылка:
- Как сделать исправить отсутствующую проблему с симуляцией simulink при запуске теста в параллельном режиме?
- https://www.mathworks.com/help/simulink/gui/rebuild.html
- https://www.mathworks.com/help/simulink/ug/model-callbacks.html#
- https://www.mathworks.com/help/simulink/ug/reuse-simulation-builds-for-faster-simulations.html
- https://www.mathworks.com/help/matlab/ref/matlab.unittest.testrunner.runinparallel.html