Skocz do: nawigacji, wyszukiwania

Advms6


Add Parallel Framework


Add Parallel Framework jest ostatnim etapem projektowania aplikacji, w którym wprowadzone wcześniej annotacje zamieniane są wybrany model programowania równoległego.


Implementacja modelu programowania równoległego

Do zrównoleglenia aplikacji wykorzystamy zostanie wysoko poziomowy standard programowania równoległego – OpenMP, który jest jednym z czterech modeli programowania równoległego wspieranych przez Intel Advisor XE. W poniższej tabeli przedstawiono sposób zamiany annotacji na dyrektywy OpenMP.

Annotacje Intel Advisor XE OpenMP
ANNOTATE_LOCK_ACQUIRE(0);      
   Body();
ANNOTATE_LOCK_RELEASE(0); 

Sekcje krytyczne
Operacje atomowe
Redukcje, Locks

ANNOTATE_SITE_BEGIN(site);
for (i = start; i < end; ++i) 
{     
   ANNOTATE_ITERATION_TASK(task);
   statement;
} ANNOTATE_SITE_END(site);
#pragma omp parallel for
for (i = start; i < end; ++i)  
{ 
   statement;  
}
ANNOTATE_SITE_BEGIN(site);   
   ANNOTATE_TASK_BEGIN(task1);   
      function_1(); 
   ANNOTATE_TASK_END(task1);    
   ANNOTATE_TASK_BEGIN(task2);    
      function_2(); 
   ANNOTATE_TASK_END(task2); 
ANNOTATE_SITE_END(site); 
#pragma omp parallel  
{ 
   #pragma omp sections  
   {  
      #pragma omp section 
         function_1(); 
      #pragma omp section 
         function_2(); 
   } 
}
  1. Otwieramy plik main.cpp przy pomocy dowolnego edytora tekstowego
  2. Usuwamy plik nagłówkowy: #include "advisor_annotate.h"
  3. Dodajemy plik nagłówkowy standardu OpenMP: #include <omp.h>
  4. Zamieniamy annotacje na dyrektywy OpenMP zgodnie ze schematem zamieszczonym w powyższej tabeli
  5. Otwieramy plik Makefile przy pomocy dowolnego edytora tekstowego
  6. Do flag kompilacji programu dodajemy flagę –openmp oraz -mmic
  7. Kompilujemy program przy pomocy polecenia make release
  8. Uruchamiamy aplikacje poleceniem make runmic. Aplikacja uruchomiona zostanie na koprocesorze Intel Xeon Phi



Bibliografia




< Wstecz