Многоядерные процессоры (например, «многоядерные» процессоры в некоторых смартфонах или персональных компьютерах) обычно используются в сочетании с видеокартами и другими компонентами для обработки больших объемов данных.

«Наша цель — упростить преобразование кода для выполнения на параллельных и гетерогенных платформах, сочетающих многоядерные процессоры с несколькими видеокартами и реконфигурируемым оборудованием», — объясняет координатор проекта Хосе Даниэль Гарсия, профессор кафедры компьютерных наук в UC3M. «Мы добились очень значительных улучшений как в производительности, так и в энергоэффективности, сравнимых с теми, которые можно получить при ручной разработке; разница в том, что ручная разработка требует месяцев инженерной работы, в то время как наш полуавтоматический процесс позволяет нам достичь тех же результатов за считанные дни».

Эти вычисления находят применение в различных секторах, таких как здравоохранение (прогнозирование стыковки белков), транспорт (мониторинг железнодорожных систем), робототехника (стереоскопическое зрение и навигация) или промышленность (анализ дефектов при производстве деталей).

Проект REPARA направлен на то, чтобы сделать преимущества этих компьютерных систем с точки зрения энергоэффективности и производительности доступными для пользователей без огромных усилий по разработке, обычно связанных с такими сложными архитектурами. Ключ к достижению этой цели заключается, помимо прочего, в «рефакторинге» исходного кода — методе, используемом в разработке программного обеспечения для улучшения внутренней структуры программы без изменения ее наблюдаемого поведения. Это похоже на изменение расположения труб и насосов в здании, чтобы вода текла быстрее, чище и экологичнее. Это улучшает три фундаментальных свойства: производительность приложения (способствует увеличению скорости выполнения), энергоэффективность (снижает энергопотребление) и простоту сопровождения и модификации исходного кода.

Исследователи, опубликовавшие некоторые из этих достижений в Международном журнале параллельного программирования, разработали и зарегистрировали три технологических продукта, которые могут быть коммерчески использованы, совместно с европейской компанией, выразившей заинтересованность. «Эти программные продукты могут помочь в предоставлении инженерных услуг третьим сторонам, упростив процесс разработки», — говорит профессор Хосе Даниэль Гарсия.

Проект REPARA (Reengineering and Enabling Performance and Power of Applications), начавшийся в сентябре 2013 года и завершившийся в августе 2016 года, объединил экспертов в области параллельных и гетерогенных вычислительных систем из академических кругов и промышленности пяти европейских стран. Бюджет проекта превысил 3,6 миллиона евро, из которых более 2,6 миллиона евро поступило из Седьмой рамочной программы (FP7) по исследованиям и технологическому развитию, основного инструмента Европейского союза для финансирования исследований. В проекте приняли участие шесть академических учреждений: Университет прикладных наук Рапперсвиля (Швейцария), Университет Карлоса III в Мадриде (Испания), Университет Пизы (Италия), Университет Сегеда (Венгрия), Технический университет Дармштадта (Германия) и Университет Турина (Италия). Кроме того, у проекта было два партнера из промышленного сектора: Ixion Industry & Aerospace в Испании и Evopro Innovation в Венгрии. UC3M является координирующим учреждением проекта REPARA и участвует в нем через исследовательскую группу ARCOS, которая вносит свой опыт в области высокопроизводительных вычислений и встроенных систем.

Сайт проекта РЕПАРА: http://www.repara-project.eu  

Библиографическая ссылка:
R. Sotomayor, LM Sanchez, JG Blas, J. Fernandez, and JD Garcia. Automatic CPU/GPU generation of multi-versioned OpenCL kernels for C++ scientific applications. International Journal of Parallel Programming, 2016.