background image

Programowanie równoległe i współbieżne 

Ćwiczenie:  

Ćwiczenie 8

 

Data oddania: 

10.6.2013 

Imię, Nazwisko: 

Aleksandra Kulecka

 

Ocena: 

Uwagi: 
 

 
 

1. 

Cel ćwiczenia: 

 

Celem  ćwiczenia  było  wykonanie  programu,  którego  zadaniem  było  obliczenie  całki  z  funkcji  

f(x) = x

2

, na przedzia

le <0, 4> metodą prostokątów oraz metodą trapezów. 

 

2. 

Przebieg ćwiczenia: 

 

Dzięki  funkcji 

MPI_Bcast(&ile,  1,  MPI_INT,  0,  MPI_COMM_WORLD); 

było  możliwe 

rozesłanie  do  wszystkich  procesów  informacji  o  tym,  na  ile  części  podzielony  zostanie 
przedział.  
Funkcja 

MPI_Reduce(&calklok,&cal,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD); 

powodowała  zebranie  wszystkich  wyników  z  poszczególnych  procesów,  zsumowanie  ich 
i zapis do jednej zmiennej o nazwie cal. 
Program  liczył  również  błąd  względny  obliczeń  w  zależności  od  wybranej  metody  obliczeń, 
oraz czas obliczeń. 
 

3. 

Otrzymane wyniki pomiarów: 

Metoda prostokątów, 10, 100 i 1000 przedziałów dla 1 procesu: 
 

 

 
 
 
 
 

 

background image

Metoda prostokątów dla 10, 100 i 1000 przedziałów dla 2óch procesów: 
 

 

 
Metoda trapezów dla 10, 100 i 1000 przedziałów dla 1 procesu: 
 

 

 

 

 

background image

Metoda trape

zów dla 10, 100 i 1000 przedziałów dla 2óch procesów: 

 

 

4.  Wnioski: 

 

Ilość  procesów  biorących  udział  w  obliczeniach  ma  wpływ  na  długość 
czasu obliczeń (im większa ilość tym dłuższy czas obliczeń), 

 

Ilość  przedziałów,  na  które  została  podzielona  dziedzina  ma  wpływ  na 
długość  obliczeń  (wraz  ze  wzrostem  ilości  przedziałów  wzrastała  długość 
obliczeń), 

 

Dokładność,  z  jaką  program  liczy  wartość  całki  ulega  poprawie  wraz  ze 
wzrostem ilości przedziałów, 

 

Wystarczy  około  1000  przedziałów,  aby  dokładność  obliczeń  była 
z

adowalająca.