Архитектурно ведущие суперкомпьютеры отличаются друг от друга очень сильно. Универсальная идея использования кластеров из тысяч процессоров в каждом конкретном проекте превращается во множество технических настроек и согласований процессов взаимодействия чипов: например, в крупнейшем китайском Tianhe-2 (33 Пфлопс для военных задач) применяются обычные и графические процессоры, всевозможные ускорители и сопроцессоры наподобие Xeon Phi, а также ПЛИС и т. п. Прикладное ПО, работающее поверх системного кластерного софта, эти различия обычно не учитывает, а вот если бы удалось скомпилировать исходный код в исполнимые модули под конкретные аппаратные архитектуры и при этом его оптимизировать, выигрыш как в росте производительности, так и в экономии электроэнергии (а мощность Tianhe-2 составляет 17,6 МВт) получился бы весьма значительным.

Английские учёные из университетов Глазго и Эдинбурга и Имперского колледжа Лондона, получив от государства грант в размере 2 млн. фунтов стерлингов, подрядились разработать компилятор, который сможет формировать эффективный исполнимый код под аппаратный комплекс произвольной гибридной архитектуры. Более того, соответствующий проект Rosetta Stone подразумевает автоматизацию распараллеливания: компилятор сам решит, какие части кода общей системы на каких типах и марках процессоров оптимально выполнять. Первоначально Rosetta Stone сможет работать с Фортраном, который будет транслироваться в функциональный язык SAC для численных вычислений. Далее определится конкретная исполнимая и компилируемая среда: LLVM для универсальных процессоров или OpenCI для графических и вычислительных ускорителей, а также находящийся пока в разработке транслятор для ПЛИС.

Версия для печати