MIT представил новый язык программирования
Язык программирования Simit основан на обратимом автоматическом переводе низкоуровневого описания алгоритмов в высокоуровневое, или графиков в матрицы, с помощью численных методов линейной алгебры. Дальнейшее моделирование не требует от программиста дополнительного переключения и предполагает традиционное написание кода только на языке линейной алгебры. Программы, написанные на Simit, могут работать на обычных (CPU) и графических (GPU) микропроцессорах без адаптации кода.
Вместе с тем новый язык отличается высокой скоростью выполнения алгоритмов. Тесты показали, что на GPU код Simit работает в 4-20 раз быстрее, чем на CPU. Скорость написания кода на Simit в десятки и сотни раз превзошла показатель других языков научного программирования. По словам исследователей, такого результата удалось достичь за счет повышения производительности языка: для выполнения одного и того же алгоритма ему потребовалось 0,1 от стандартного объема кода.
«История нашего исследования восходит к тому, что компромисс между лаконичным кодом и хорошей производительностью невозможен. Это не так, по крайней мере применительно к упомянутым задачам. Но это необязательно и для широкого спектра других задач», - сообщил соавтор работы Фредерик Кьелстад.
По его словам, помимо моделирования физических процессов, Simit может использоваться в таких областях, как робототехника, анализ данных, машинное обучение, оптимизация. Также в рамках испытаний команда успешно воспроизвела на новом языке оригинальный алгоритм PageRank - один из алгоритмов ранжирования результатов интернет-поиска - от Google. В настоящее время ученые апробируют технологию в квантовой хромодинамике для описания сильного взаимодействия.
Участие в разработке Simit принимали ученые из MIT, Калифорнийского университета в Беркли, Торонтского университета, Техасского университета A&M, Техасского университета в Остине, а также исследователи из компании Adobe Systems Inc.