PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Reprezentacja przestrzeni iteracji pętli i opisu zależności w kompilatorze zrównoleglającym

Treść / Zawartość
Identyfikatory
Warianty tytułu
EN
Representation of iteration domain and description of dependencies in a parallelizing compiler
Języki publikacji
PL
Abstrakty
PL
W artykule został przedstawiony proces optymalizacji kodu programów przeznaczonych do wykonania przez systemy osadzone lub wieloprocesorowe przy pomocy kompilatora optymalizującego. Głównym elementem, dla którego wykonywane są optymalizacje, są pętle, ponieważ to w nich wykonywane jest najwięcej instrukcji a ich optymalizacja ma wpływa na wykorzystanie dostępnych zasobów, co wpływa znacząco na ilość zużywanej przez układy energii. Zaprezentowana została również budowa kompilatora i istotne informacje przechowywane i wykorzystywane do analizy w trakcie kompilacji.
EN
A process of optimization of the program code to be performed by embedded or multiprocessor systems is very complex and time consuming. The code fragments whose optimization brings the greatest effects are loops because they process a large amount of data using the same instructions repeatedly. This makes the execu-tion time of a loop a significant part of the overall program execution time. The time of each iteration affects use of available resources (memory, cache, etc.), which also influences the amount of energy. The program code is subjected to numerous transformations carried out on the basis of analysis of the relationships. This analysis allows determining which pieces of the code can be executed independently of each other. The aim of this paper is to present conversion mechanisms implemented in a paralellizing compiler. These mechanisms are focused on the representation format and description of the loop dependencies. The analysis of dependences allows the submission of many transitions and provides a more optimized version of the code when taking into account such factors as the energy aware code or the execution time.
Wydawca
Rocznik
Strony
957--959
Opis fizyczny
Bibliogr. 12 poz., rys., schem., tab.
Twórcy
autor
  • Zachodniopomorski Uniwersytet Technologiczny, Wydział Informatyki, ul. Żołnierska 49, 71-210 Szczecin, pblaszynski@wi.ps.pl
Bibliografia
  • [1] Bastoul C.: Generating loops for scanning polyhedral, PRiSM, Versailles University, 2002/23.
  • [2] Bastoul C., Cohen, Albert and Girbal, Sylvain and Sharma, Saurabh and Temam, Olivier: Putting Polyhedral Loop Transformations to Work, Workshop on Languages and Compilers for Parallel Computing, 2003, LNCS, Springer-Verlag, College Station, Texas.
  • [3] Bielecki W., Kraska K.: Zwiększenie wydajności aplikacji wykonywanych w systemach osadzonych poprzez zwiększenie lokalności danych, Reprogramowalne Układy Cyfrowe, Szczecin 2007.
  • [4] The Omega Project: Frameworks and Algorithms for the Analysis and Transformation of Scientific Programs [online] http://www.cs.umd.edu/ projects/omega/
  • [5] The CLooG Code Generator in the Polyhedral Model's Home [online] http://www.cloog.org/
  • [6] library for manipulating sets and relations of integer points [online] http://freshmeat.net/projects/isl
  • [7] An automatic parallelizer and locality optimizer for multicores [online] http://pluto-compiler.sourceforge.net
  • [8] integer set analysis framework [online] http://repo.or.cz/w/isa.git
  • [9] A library of polyhedral functions [online] http://icps.u-strasbg.fr/ polylib/
  • [10] NASA Advanced Supercomputing Parallel Benchmarks Version 3.2 [online] http://www.nas.nasa.gov/Software/NPB/
  • [11] Lee C.: UTDSP (University of Toronto Digital Signal Processing) Benchmark Suite [online] http://www.eecg.toronto.edu/~corinna/ DSP/infrastructure/UTDSP.html
  • [12] Collective Benchmark (cBench, dawniej MilepostGCC) http://ctuning.org/wiki/index.php/CTools:CBench
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BSW4-0104-0045
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.