Skocz do: nawigacji, wyszukiwania

Itaccs2


Rozwiązanie problemu


  1. Otwieramy plik main.cpp znajdujący się w katalogu z niniejszą instrukcją przy pomocy dowolnego edytora tekstowego
  2. Obliczanie rozmiaru tablicy oraz wysyłanie go implementujemy na początku procesu P0
  3. Wysyłanie danych potrzebnych do wykonania obliczeń (dwóch tablic) umieszczamy w pętli, w której są one wypełniane. Moment, w którym tablice mają zostać wysłane obliczamy na podstawie indeksu oraz obliczonego wcześniej rozmiaru tablicy dla pozostałych procesów
  4. Zapisujemy zmiany
  5. Uruchamiamy terminal
  6. Używając polecenia cd przechodzimy do katalogu, w którym znajduje kod źródłowy analizowanej aplikacji
  7. Budujemy aplikację wpisując polecenie make
  8. Uruchamiamy aplikację poleceniem make run w celu wygenerowania nowego pliku z rezultatami analizy
  9. Otwieramy Intel Analyzer and Collector w celu wyświetlenia danych, wpisując w terminalu polecenie traceanalyzer main.stf



Interpretacja rezultatów po wprowadzeniu zmian


Po wprowadzeniu powyższych zmian, wynik ponownej analizy wygląda następująco:
Itac cpu 7.png

Jak widać całkowity czas obliczeń zmalał z 9 sekund do 5,35 sekund. Liczba procesów oraz węzłów pozostała bez zmian. Zmianie uległ również stosunek trwania funkcji MPI do kodu użytkownika. Funkcja MPI_Recv nadal jest najbardziej aktywną funkcją w aplikacji, jednak czas jej wykonywania zmalał z blisko 8 sekund do 4,21 sekund.

  1. Naciskamy przycisk Continue


Otwarte zostaje okno, w którym wyświetlone są szczegółowe dane na temat analizowanej aplikacji.

  1. Z menu Chart wybieramy Event Timeline, który wygląda następująco:
Itac cpu 8.png

Po wprowadzeniu zmian widzimy, że sposób komunikacji pomiędzy procesami uległ znaczącej zmianie. Odstępy pomiędzy przesyłaniem danych wynikają z faktu, iż w tym czasie proces P0 wypełnia tablice na podstawie, których procesy wykonują obliczenia. W aplikacji nadal występuje problem Late Sender, jednak w dużym stopniu został on zminimalizowany. Rozmiar danych przesyłanych pomiędzy procesami nie zmienił się.



Bibliografia




< Wstecz