Preview

Труды Института системного программирования РАН

Расширенный поиск

Программная конвейеризация циклов на платформе ARM

Аннотация

В данной работе описывается проделанная с компилятором GCC работа по адаптации имеющегося алгоритма поворотного модульного планирования для архитектуры ARM. Имеющийся в компиляторе алгоритм может работать только с циклами определенного вида, а на платформе ARM нет подходящей инструкции для организации циклов этого вида. Были выполнены предварительные оценки производительности с помощью реализации шаблона псевдо-инструкции для платформы ARM. По результатам этой проверки было решено расширить возможности алгоритма для оптимизации более общего вида циклов. Разработана и реализована поддержка циклов, счетчик которых меняется как арифметическая прогрессия. Для добавления такой поддержки были внесены значительные изменения в алгоритм поворотного модульного планирования. По результатам тестирования выявлено ускорение части тестовых приложений до 3-4%.

Об авторах

Роман Жуйков
ИСП РАН
Россия


Дмитрий Мельник
ИСП РАН
Россия


Рубен Бучацкий
ИСП РАН
Россия


Список литературы

1. Веб-сайт Gnu Compiler Collection. http://gcc.gnu.org/

2. M.R. Garey, D.S. Johnson. “Computers and Intractability: A Guide to the Theory of NP-completeness”. San Francisco: W. H. Freeman & Company Publishers. 1979.

3. А. Белеванцев, Д. Журихин, Д. Мельник. Компиляция программ для современных архитектур. Труды Института системного программирования РАН, Том 16, 2009, cтр. 31-50.

4. J. Llosa, E. Ayguade, A. Gonzalez, M. Valero, J. Eckhardt. “Lifetime-sensitive modulo scheduling in a production environment”. Computers, IEEE Transactions on. Volume 50, Issue 3, pp.234-249. 2001.

5. B.R. Rau. “Iterative modulo scheduling: An algorithm for software pipelining loops”. In Proc. of the 27th Annual International Symposium on Microarchitecture, pp. 63-74. November 1994.

6. Mostafa Hagog and Ayal Zaks. Swing Modulo Scheduling in GCC. In Proceedings of the GCC Developer's Summit 2004, pp 55-64, Ottawa, Canada.

7. Веб-сайт Enlightenment Foundation Libraries http://www.enlightenment.org/p.php?p=about/efl

8. Веб-сайт SQLite http://www.sqlite.org/about.html

9. Веб-сайт Standard Performance Evaluation Corporation. http://www.spec.org/cpu2000/


Рецензия

Для цитирования:


Жуйков Р., Мельник Д., Бучацкий Р. Программная конвейеризация циклов на платформе ARM. Труды Института системного программирования РАН. 2012;22.

For citation:


Zhuykov R., Melnik D., Buchatskiy R. Loops software pipelining on ARM platform. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2012;22. (In Russ.)



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)