PL EN


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

An automatic parallel OpenMP code generation

Autorzy
Treść / Zawartość
Identyfikatory
Warianty tytułu
PL
Automatyczna generacja kodu równoległego w standardzie OpenMP
Języki publikacji
EN
Abstrakty
EN
This paper presents a problem of generating an efficient parallel code from an existing sequential code in an automatic way. The main part of this paper is dedicated to the description of the automatic parallel code generation process. Not only an idea of building an automatic code generation tool is provided, but also a theoretical basis which allows us to understand the optimization problem of parallel code. In the theoretical part of the article the solution has been proposed for measuring the quality of code executed by determining the parameters of speedup and efficiency. Also information about known problems associated with parallel processing and speed of code were provided. Discusses, inter alia, impact on the effectiveness and performance of the barrier synchronization. Also a problem with scheduling in the performance of the CPU load of parallel threads is presented. An example of code generated by a tool under development is explained. Some results of experiments are provided to present code quality measurements. The results come from the first iteration of the program, which does not attempt to optimize the generated code in terms of improved locality. Iteration does not include the attempt to generate code that would contain less of a barrier synchronization. These features are under the implementation phase.
PL
W artykule przedstawiony został problem dotyczący stworzenia automatycznego narzędzia generującego kod w standardzie OpenMP, który byłby efektywnie wykonywany pod danym środowiskiem uruchomieniowym. Artykuł przedstawia podstawy teoretyczne związane ze sposobem pomiaru jakości wygenerowanego kodu, jak również przedstawia model narzędzia wykonującego automatyczną generację wydajnego kodu w standardzie OpenMP. W części teoretycznej zaproponowane zostało rozwiązanie problemu pomiaru jakości wykonywanego kodu za pomocą określenia parametrów przyspieszenia i efektywności. Opisany został sposób, w jaki można uzyskać dokładne wartości tych parametrów podczas wykonywania aplikacji równoległych. Zawarto również informacje na temat znanych problemów związanych z przetwarzaniem równoległym i szybkością działania kodu. Omówiono między innymi wpływ synchronizacji barierowej na efektywność wykonywanych programów. Przedstawiono także problem równomiernego obciążenia procesorów podczas wykonywania wątków programu równoległego. Oprócz architektury narzędzia, zaprezentowane zostały wyniki badań uzyskane z częściowo zaimplementowanej już aplikacji. Wyniki pochodzą z pierwszej iteracji działania programu, która nie podejmuje próby optymalizacji wygenerowanego kodu pod względem zwiększenia lokalności. Iteracja ta nie zawiera również próby wygenerowania kodu, który zawierał by mniej synchronizacji barierowych. Powyższe funkcjonalności są w fazie implementacji.
Wydawca
Rocznik
Strony
803--806
Opis fizyczny
Bibliogr. 11 poz., rys., wykr., wzory
Twórcy
autor
Bibliografia
  • [1] Van Der Pas R., Chapman B., Jost G.: Using OpenMP. The MIT Press, 2007.
  • [2] Omega Project Documentation. Omega project website: http:// www.cs.umd.edu/projects/omega/. Valid at June 25, 2009.
  • [3] Petit Documentation. http://github.com/davewathaverford/the-omega-project/tree/2ff0a6563ed1c2b2eee8c9bf82f3657a8e6d6bc2/petit/doc. June 25, 2009. Petit tool project website available June 25, 2009.
  • [4] Fujitsu Systems Europe Ltd., Url valid at June 25, 2009, http:// www.compunity.org/compilers/fujitsu/Workbench.pdf. Parallel Navi Workbench: an OpenMP Development Enviroment for a Wide-Area Network.
  • [5] Abd-El-Barr M., El-Rewini H.: Advanced computer architecture and parallel processing. Wiley Interscience, 2005.
  • [6] OpenMP Architecture Review Board, OpenMP C and C++ Application Program Interface, 2.0 edition, March 2002, Url valid at June 25, 2009 http://www.openmp.org/blog/specifications/cspec20.pdf.
  • [7] OpenMP Architecture Review Board, OpenMP Application Program Interface Draft 3.0, 3.0 edition, Oct. 2007. Url valid at June 25, 2009 http://www.openmp.org/drupal/mp-documents/cspec30_draft.pdf.
  • [8] Pałkowski M.: http://detox.wi.ps.pl/SFS_Project. Valid at June 25, 2009. ESyS project website.
  • [9] Kohr D., Chandra R., Dagum L.: Parallel programming in OpenMP. Morgan Kaufmann Publishers, 2001.
  • [10] Univ. of Electro-Communications, Japan. Interactive Parallelizing Assistance Tool for OpenMP:iPat/OMP. Url valid at June 25, 2009 http://www.compunity.org/events/ewomp03/omptalks/Monday/Session2/T08p.pdf.
  • [11] Addison Wesley. An introduction to parallel computing. Addison Wesley, 2003.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BSW4-0071-0004
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ć.