Skocz do: nawigacji, wyszukiwania

Tutorial:Intel Advisor XE 6


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
  7. Kompilujemy program przy pomocy polecenia make release
  8. Uruchamiamy aplikacje poleceniem make run



Bibliografia




< Wstecz