Труды института системного программирования РАН
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Труды ИСП РАН:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Труды института системного программирования РАН, 2018, том 30, выпуск 4, страницы 45–62
DOI: https://doi.org/10.15514/ISPRAS-2018-30(4)-3
(Mi tisp346)
 

Heterogeneous architectures programming library
[Библиотека программирования гетерогенных архитектур]

G. V. Kirgizov, I. A. Kirilenko

Saint Petersburg State University
Список литературы:
Аннотация: Встраиваемые системы с гетерогенной архитектурой, рассматриваемые в данной работе, состоят из одного управляющего и одного или нескольких периферийных процессоров. Разработка ПО для таких систем представляет заметные сложности, требуя различные наборы инструментов для каждой составляющей гетерогенной системы. Достижение высокой эффективности также становится более сложной задачей. Кроме того, во многих сценариях встраиваемые системы требуют настройки во время исполнения, что непросто обеспечить с использованием стандартных средств. Эта работа представляет C-подобный предметно-ориентированный язык (DSL) для метапрограммирования и библиотеку, предоставляющую единый интерфейс для программирования периферийных процессоров с использованием этого языка. Это позволяет разрешить упомянутые проблемы. DSL встроен в C++ и позволяет свободно манипулировать написанными на нем выражениями и, таким образом, представляет собой реализацию идеи генеративного программирования, когда выразительная мощь высокоуровневого языка используется для многоступенчатой генерации низкоуровневого DSL кода. Вместе с другими возможностями, например, обобщенными DSL функциями, это делает данный язык гибким инструментом для динамической кодогенерации. Подход, используемый в библиотеке, - это динамическая компиляция. Код, написанный на предметно-ориентированном языке, транслируется в LLVM IR и затем компилируется в машинный код во время исполнения. Это открывает возможность динамических оптимизаций кода, например, специализации функций для определенных значений, известных только во время исполнения. Гибкая архитектура библиотеки обеспечивает простую расширяемость на любые платформы, поддерживаемые LLVM. В конце работы также приводятся апробация библиотеки на нескольких системах и демонстрация возможности динамических оптимизаций.
Ключевые слова: метапрограммирование, кодогенерация, встроенный DSL, гетерогенные системы, встроенные системы.
Реферативные базы данных:
Тип публикации: Статья
Язык публикации: английский
Образец цитирования: G. V. Kirgizov, I. A. Kirilenko, “Heterogeneous architectures programming library”, Труды ИСП РАН, 30:4 (2018), 45–62
Цитирование в формате AMSBIB
\RBibitem{KirKir18}
\by G.~V.~Kirgizov, I.~A.~Kirilenko
\paper Heterogeneous architectures programming library
\jour Труды ИСП РАН
\yr 2018
\vol 30
\issue 4
\pages 45--62
\mathnet{http://mi.mathnet.ru/tisp346}
\crossref{https://doi.org/10.15514/ISPRAS-2018-30(4)-3}
\elib{https://elibrary.ru/item.asp?id=35544581}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp346
  • https://www.mathnet.ru/rus/tisp/v30/i4/p45
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:137
    PDF полного текста:56
    Список литературы:28
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024