Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc u vezi openMP/SMP

[es] :: Art of Programming :: Pomoc u vezi openMP/SMP

[ Pregleda: 2051 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Onna_27
Ona Onna

Član broj: 147146
Poruke: 3
*.k151.webspeed.dk.



Profil

icon Pomoc u vezi openMP/SMP31.05.2007. u 12:40 - pre 205 meseci
Spremam ispit i nikako nemogu da rijesim ovo pitanje. Nadam se da ce se naci neko da mi pomogne.


Explain what the following OpenMP code does using an SMP architecture with 2 processors? What is the problem with the code and how could it be fixed?

#pragma omp parallel for private(x)
for (i=0; i< N; i++){
x=(i+0.5)/N; // N is constant
area+=4.0/(1.0+x*x);
}



Upomoc :(
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
212.200.249.*



+1 Profil

icon Re: Pomoc u vezi openMP/SMP31.05.2007. u 13:32 - pre 205 meseci
lupetam gluposti, ali hajde da probam ...

meni se cini da bi eventualno problem mogao nastati u sledecem slucaju ...

ako smp to razbija na dva procesora, dobijamo dva threada za izvrsavanje a oba koriste
istu promenljivu za sumiranje - area ... tu bi se moglo mnogo izgubiti na lockovanju i cekanju drugog thread-a da
doda svoju vrednost na area ...

takodje mi je sumnjivo i ovo N ... (ali nisam siguran)

nisam nesto radio u openMP ... ali obrati paznju (iz dokumentacije)

1. da li se citava stvar deli na sledece

K = N / 2

instance 1

Code:

for(i=0;i<K;i++){
  x=(i+0.5)/K; // ovde bi mogao nastati problem
  area+=4.0/(1.0+x*x);
}


i instance 2

Code:

for(i=K;i<N;i++){
  x=(i+0.5)/N; // ovo je ok ...
  area+=4.0/(1.0+x*x);
}


Da li treba na neki nacin obeleziti area promenljivu da bi se naglasilo da je u pitanju suma?
(da bi eventualno predprocesor to razbio na area1 i area 2 i na kraju area = area1+area2)

Nadam se da sam pomogao koliko mogu, onako cisto logicki gledano, to mi je palo na pamet ...
 
Odgovor na temu

[es] :: Art of Programming :: Pomoc u vezi openMP/SMP

[ Pregleda: 2051 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.