Mam pytanie, jak utworzyć pseudokod OpenMP, gdy masz na myśli konkretny wykres zależności. Więc załóżmy, że mamy tego konkretnego wykresu:Tworzę kod OpenMP z grafem zależności
Rozwiązaniem mogłoby być coś takiego:
#pragma omp parallel
{
#pragma omp single
{
A();
#pragma omp task B();
#pragma omp task C();
D();
#pragma omp taskwait
#pragma omp task E();
F();
}
}
Teraz chodzi o to, że chociaż powyższy kod nie uda istotną równoległość, zadanie E musi czekać na zakończenie zadania D, a zadanie F musi czekać na zakończenie zadania B, co nie jest wymagane zgodnie z wykresem.
Moje pytanie brzmi, czy ktoś może mi podać pseudokod OpenMP, w którym E nie będzie czekać na D, a F nie będzie czekać na B dla danego wykresu zależności?
Tak, to wydaje się doskonale działa. Dziękuję Ci! – blaze9