Слияние циклов для локализации данных

Автор: Штейнберг Борис Яковлевич, Штейнберг Олег Борисович, Василенко Александр Александрович

Журнал: Программные системы: теория и приложения @programmnye-sistemy

Рубрика: Математические основы программирования

Статья в выпуске: 3 (46) т.11, 2020 года.

Бесплатный доступ

Для улучшения локализации данных используется слияние циклов. Слияние циклов, имеющих общие переменные, может ускорить исполнение за счёт уменьшения количества кэш-промахов. Это преобразование известно давно, но компиляторы выполняют его лишь для простейших случаев.Наши улучшенные алгоритмы используют предварительные преобразования для корректного слияния циклов, имеющих разное количество итераций и информационные зависимости.

Слияние циклов, оптимизирующий компилятор, преобразования программ, локальность данных, оптимизация обращений к памяти

Короткий адрес: https://sciup.org/143172950

IDR: 143172950   |   DOI: 10.25209/2079-3316-2020-11-3-17-31

Список литературы Слияние циклов для локализации данных

  • S.L. Graham, M. Snir, C.A. Patterson. Getting up to speed. The future of supercomputing, National Academies Press, 2005, 289 pp. DOI: 10.17226/11148
  • Л. К. Эйсымонт, В. С. Горбунов, Г. С. Елизаров. «На пути к экзафлопсному суперкомпьютеру: результаты, направления, тенденции», МСКФ 2012 (Москва, 1 ноября 2012), с. 5-7.
  • A. Mycroft. “Programming language design and analysis motivated by hardware evolution (invited presentation)”, International Static Analysis Symposium (22-24 August, 2007, Kongens Lyngby, Denmark), Springer, Berlin-Heidelberg, 2007, 978-3-540-74060-5, pp. 18-33. DOI: 10.1007/978-3-540-74061-2_2 ISBN: 978-3-540-74060-5
  • А. И. Галушкин. «Стратегия развития современных супернейрокомпьютеров на пути к экзафлопcным вычислениям», Приложение к журналу «Информационные технологии», 2012, №3.
  • О. Б. Штейнберг. «Минимизация количества временных массивов в задаче разбиения циклов», Известия ВУЗов. Северо-Кавказский регион. Естественные науки, 2011, №5(165), с. 31-35.
  • J. Xue, Q. Huang, M. Guo. “Enabling loop fusion and tiling for cache performance by fixing fusion-preventing data dependences”, 2005 International Conference on Parallel Processing (ICPP’05) (14-17 June 2005, Oslo, Norway), 2005, pp. 107-115. DOI: 10.1109/ICPP.2005.37
  • K. Barton, J. Doerfert, H. Finkel, M. Kruse. “Loop fusion, loop distribution and their place in the loop optimization pipeline”, EuroLLVM 2019 Final (April 9, 2019) URL https://llvm.org/devmtg/2019-04/slides/TechTalk-Barton-Loop_fusion_loop_distribution_and_their_place_in_the_loop_optimization_pipeline.pdf.
  • E. Wang, Q. Zhang, B. Shen, X. Lu, Q. Wu, Y. Wang. High-Performance Computing on the Intel™ Xeon Phi®. How to Fully Exploit MIC Architectures, Springer, 2014, 978-3-319-06485-7, xxiii+338 pp. DOI: 10.1007/978-3-319-06486-4 ISBN: 978-3-319-06485-7
  • О. Б. Штейнберг. «Круговой сдвиг тела цикла - преобразование программ, способствующее распараллеливанию», Вестн. ЮУрГУ. Сер. Матем. моделирование и программирование, 10:3 (2017), с. 120-132 (на англ.). DOI: 10.14529/mmp170310
Еще
Статья научная