Engee: рекомендовано к внедрению в российских вузах
В нынешних геополитических условиях российские университеты испытывают серьезные проблемы с использованием MATLAB, одного из основных пакетов для проведения исследовательских работ и подготовки обучающихся в области вычислительных алгоритмов. Возникла необходимость в интенсификации работ по разработке импортозамещающего ПО.
Валерий Васильевич Белошапкин, к.ф.-м.н., с.н.с, экс-проректор по информатизации Красноярского государственного педагогического университет им. В.П. Астафьева, протестировал российскую платформу для инженерных вычислений Engee и сравнил функционал этой среды с аналогами. Далее приводим мнение эксперта от первого лица.

Компания ООО «РИТМ» разрабатывает пакет Engee, который претендует, в том числе, и на импортозамещение функционала MATLAB. Пакет разрабатывается на языке программирования Julia, распространяемого под лицензией MIT, что обеспечивает широкие возможности по собственному лицензированию разрабатываемых продуктов.

Одним из существенных преимуществ языка программирования Julia по сравнению с другими языками программирования является быстродействие генерируемых кодов, о чем более подробно будет сказано позже. Кроме того, для языка программирования Julia разработано много библиотек прикладных программ, покрывающих большой объём из числа современных вычислительных алгоритмов. Указанные возможности языка делают привлекательной идею разработать на языке программирования Julia информационно-вычислительный комплекс для проведения вычислительных работ и обеспечения образовательного процесса по методам вычислений.

На данный момент разработана интерфейсная оболочка Engee, документация (включая описание языка программирования Julia и библиотек прикладных программ) и учебные курсы для студентов на русском языке. Оболочка позволяет работать с данными в формате MATLAB и с процессами MATLAB прямо из оболочки Engee.

Я провел сравнительное тестирование быстродействия функций Engee и аналогичных функций из пакетов MATLAB, 0ctave и Scilab. Сравнение проводилось на примере функций, включенных в библиотеки для интегрирования систем обыкновенных дифференциальных уравнений. Это функции, реализующие алгоритмы Рунге-Кутты (Engee MATLAB, Octave, Scilab), lsoda (Engee, Octave, Scilab), Adams (Engee, Octave, Scilab). Как это ни удивительно, во всех протестированных функциях первенство по быстродействию принадлежит функциям из библиотеки DifferentialEquations.jl языка программирования Julia. Результат для меня лично оказался неожиданным, но он проверен неоднократно и достоверен.

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