A A A


PGDBG

PGDBG jest graficznym debugerem dla jedno i wielowątkowych aplikacji sterowanych protokołem OpenMP i MPI. Za pomocą PGDBG można nadzorować uruchamianie aplikacji (debuging) na serverach SMP, w systemach rozproszonych (klastach) lub systemach hybrydowych, w których każdy węzeł klastra stanowi 32/64-bitowy komputer w technologii SMP (wieloprocesorowe stacje komputerowe). PGDBG uzupełnia opcje analityczne i diagnostyczne programu PGPROF, systemu profiler firmy PGI zarówno w aplikacjach sterowanych protokołem MPI jak i OpenMP. Dostępne są dwie konfiguracje PGDBG, które są zawarte w pakietach PGI. Wersja PGDBG zawarta w PGI Professional Network floating jest przystosowana do kontroli zarówno systemów opartach na sterowaniu MPI jak i OpenMP. wersja PGDBG zawarta w produkcie PGI Professional Node-locked jest przystosowana do kontroli pakietów bazujących na zrównoleglaniu wielowatkowym w oparciu o protokół OpenMP. Z użyciem PGDBG można kontrolować wykonanie oraz sprawdzać poziom równoległości kompilatorów Fortran/C/C++.

Debuger PGDBG w systemach klastrowych pozwala niezależnie kontrolować wątki sterowane protokołem OpenMP oraz procesy styerowane protokołem MPI. Instrukcje typu Step, Next, Break, Halt, Wait lub Cotinue mogą być zastosowane do pojedynczych wątków czy procesów aplikacji uruchamianej na systemie klastrowym lub łącznie dla całej grupy.



Uruchamianie aplikacji dla klastra komputerowego może być wyjątkowo efektywne. PGDBG dostarcza obszerny zestaw elementów, dzięki którym proces ten jest wyjątkowo uproszczony. Już podstawowe okno programu daje precyzyjną kontrolę nad każdym węzłem klastra lub każdym wątkiem procesu stacji wieloprocesorowej w technologii SMP. Główne okno programu wyświetla kod źródłowy w języku Fortran/C/C++. Okno to zawiera przyciski dla takich operacji jak: Run, Break, Quit, Print lub Stack. Dodatkowe przyciski umożliwiają kontrolę indywidualnych wątków czy procesów lub ich grupowa kontrolę. Wartości wejściowe i wyjściowe mogą być wyświetlane w głównym oknie lub w niezależnym oknie I/O. Okno disasemblera pokazuje w jaki sposób kod wybranej linii źródłowej został zamieniony w procesie kompilacji na kod asemblera. Dostępne jest krokowa praca na kodzie asemblera. Niezależne okna są wyświetlane dla jako Active Process i Active Threads dla wyświetlenia statusu każdego procesu i wątku. Okno rejestrów pokazuje zawartość rejestrów w formatach integer, hex i floating-point. Możiwe jest użycie dodatkowego okna użytkownika (custom display) do wyświetlania wartości określonej zmiennej lub zawartości określonego obszaru pamięci. Dla większej jasności wyniki kontroli uruchamiania programu mogą być wyświetlane w niezależnym oknie I/O.



Pakiet łatwy w użyciu

PGDBG obsługuje programy napisane w językach Fortran/C/C++. Jego dyrektywy są zgodne z formatem DBX dla definiowania punktów przerwania (breakpoints), punktów podglądu (watchpoints) oraz uruchamiania rozszerzeń. Pakiet może być użyty do kontrolowania wykonania programu i sprawdzania wartości pośrednich sterowanych symbolicznie poprzez instrukcje kodu źródłowego lub z poziomu asemblera. PGDBG pozwala na przełączanie między wątkami w obszarze równoległych obliczeń, co pozwala na krokową pracę lub sprawdzanie wartości pośrednich obliczeń dla każdego wątku. Praca PGDBG może być równolegle kontrolowana z poziomu GNU gcc.



Cechy
  • Debagowanie programów tworzonych w Fortran, C and C++
  • Debagowanie programów pisanych w kodach asemblera
  • Stworzony dla platform 32/64 bitowych pod kontrolą systemu Linux
  • Debagowanie równoległych aplikacji pracujacych pod kontrola protokołów OpenMP i MPI
  • Obsługuje standardy bibliotek MPICH oraz LAM MPI
  • Obsługuje biblioteki w standardach Linuxthread oraz NPTL .
  • Pakiet PGI Professional Network floating pozwala debagować aplikacje sterowane przez MPI na poziomie procesów i OpenMP na poziomie wątków oraz aplikacje hybrydowe MPI i OpenMP zawierające maksymalnie 256 równoległych ciągów obliczeniowych
  • Komendy zgodne z DBX
  • Ustawienie punktu wstrzymania (breakpoint) jednym kliknięciem myszy
  • Praca krokowa pozwalająca na "przeskoczenie" segmentu Function, wejście do wnętrza lub wyjście na zewnątrz
  • Punkty zatrzymania z podglądem stanu obliczeń
  • Śledzenie wstecz
  • Uruchamianie wyświetlania dla instrukcji kodu źródłowego przez pojedyncze klikniecie
  • Wieloformatowe wyświetlanie wartości zmiennych
  • Plik rejestrujący zdarzenia w sesji (log file)
  • Obszerny i wygodny system pomocy
  • Współdziałanie z GNU gcc oraz g77


Rozbudowany interfejs użytkownika

debugger PGDBG

PGDBG interfejs użytkownika w środowisku Windows
  • Główne okno
  • Wyświetlanie kodu źródłowego z punktami zatrzymania obliczeń
  • Wejście/Wyjście
  • Przyciski poleceń
  • Okno disasemblera przełączane z oknem kodu źródłowego
  • Definiowane okno użytkownika - śledzenie zmiennych i sekcji tablic wyświetlanych w opcji wieloformatowej
  • Okno aktywnego wątku pokazujące jego status i lokalizację
  • Okno aktywnego procesu pokazujące jego statusu i lokalizacji
  • Okno rejestrów dla wyświetlania sformatowanego stanu rejestrów
  • Okno pamięci dla wyświetlania sformatowanych segmentów pamięci

PGDBG kontrola procesów/wątków
  • Kontrola wątków sterowanych przez OpenMP indywidualnie lub zbiorowo
  • Kontrola procesów indywidualnie lub zbiorowo
  • Automatyczne wykrywanie procesów lub dołączanie do zidentyfikowanych procesów MPI
  • Automatycnze wykrywanie wątków lub dołączanie do zidentyfikowanych wątków OpenMP
  • Dołączanie do uruchomionych aplikacji MPI, OpenMP lub hybrydowych, równolegle pracujących programów. PGDBG automatycznie zbiera informacje o każdym procesie MPI oraz wątku OpenMP
  • Wyświetlanie wewnętrznych danych OpenMP
  • Kontrola kolejek wiadomości dla każdego procesu MPI
  • Stany procesów i wątków kodowane kolorami
  • Synchronizacja wątków/procesów
  • Do każdego procesu lub wątku można:
    - użyć komendy: Break (przerwanie), Next (następny), Step (krok), Continue (kontynuacja), Wait (oczekiwanie) lub Halt (zatrzymanie)
    - wyświetlić statusu i lokalizacji procesu/wątku
    - przełączyć pomiędzy procesami/wątkami

PGDBG OpenMP Debugger
Zawarty z każdym pakiecie z PGI.
  • Debuger zawarty w PGI Professional analizuje wyłącznie pracę aplikacji na poziomie wątków sterowanych protokołem
  • OpenMP, obsługuje maksymalnie 64 jednoczesne wątki OpenMP.
    Więcej informacji na stronie www.pgroup.com