• Регистрация
MusubaPy
MusubaPy 0.00
н/д

Долгая компиляция в Simulink

17.02.2021

Добрый день, имеется объемный проект Matlab 2020b Simulink.

Столкнулся с проблемой, что компиляция проекта Simulink происходит достаточно долго, при этом процессор загружается всего на 5-9%, оперативная память на 45-50%.

Процессор: AMD ryzen 9 5900x 4 Ghz

Память: 32 Gb 3333Mhz

 

Хотелось бы использовать вычислительные мощности компьютера на максимум и ускорить время компиляции проекта. Возможно, как-то возможно подрубить все ядра процессора или использовать параллельные вычисления?

Теги

    17.02.2021

    Лучший ответ

    • Павел Рословец +239.28
      18.02.2021 12:00

      Прямых способов ускорить процесс компиляции нет, здесь нужно в каждом отдельном случае разбираться, что так долго компилируется.

      Может быть, у вас много кода внутри MATLAB Function, что вызывает в прямом смысле компиляцию этого кода (в таком случае можно использовать coder.extrinsic или Interpreted MATLAB Function).

      Может быть, у вас очень большая модель Simscape, который действительно компилируется не очень быстро. В таком случае присмотритесь к последним релизам - в одном из них ускоряли компиляцию Simscape за счет кеширования в slxc.

      Наконец почти всегда можно вынести "тяжелую" часть модели в Model Reference, работающую в режиме Accelerator или Rapid Accelerator. В таком случае первый запсук модели будет долгим, а остальные существенно более быстрыми.

    Ответы

    • Павел Рословец
      Павел Рословец +239.28
      18.02.2021 10:28

      Здравствуйте, а что вы подразумеваете под компиляцией проекта Simulink?

      • Andrey Ermakov
        Andrey Ermakov +56.93
        18.02.2021 11:37

        Тоже интересно, так как в версии 2019b наблюдал следующую картину, модель весом 56 кБ становилась 370 кБ и при старте моделирования на этае обновления  модели( или компиляции при режиме моделирования акселерация) время до старто составляло до ескольких минут, причем после перезапуска Matlab первые несколько запусков происходили достаточно быстро но на 5 все поять посторялось.

        Лечилось созданием новго файла модели и переносом всего туда.

        Также в командном окне выводились сообщения о WebView  в модели ( что не понятно).

        • MusubaPy
          MusubaPy0.00
          18.02.2021 13:37

          Спасибо за ваш ответ. Под комплицией подразумевается сборка проекта (Внизу картинки зеленая полоска c подписью Compiling). После компиляции сама симуляция расчитывается быстро.

          Компиляция Simulink

        • Павел Рословец
          Павел Рословец +239.28
          18.02.2021 19:46

          Прямых способов ускорить процесс компиляции нет, здесь нужно в каждом отдельном случае разбираться, что так долго компилируется.

          Может быть, у вас много кода внутри MATLAB Function, что вызывает в прямом смысле компиляцию этого кода (в таком случае можно использовать coder.extrinsic или Interpreted MATLAB Function).

          Может быть, у вас очень большая модель Simscape, который действительно компилируется не очень быстро. В таком случае присмотритесь к последним релизам - в одном из них ускоряли компиляцию Simscape за счет кеширования в slxc.

          Наконец почти всегда можно вынести "тяжелую" часть модели в Model Reference, работающую в режиме Accelerator или Rapid Accelerator. В таком случае первый запсук модели будет долгим, а остальные существенно более быстрыми.