Skocz do: nawigacji, wyszukiwania

MICLAB:Intel Advisor


Środowisko i modele programowania

dr inż. Łukasz Szustak, Politechnika Częstochowska, IITiS
mgr inż. Kamil Halbiniak, Politechnika Częstochowska, IITiS



Intel Advisor XE


Adv ico.png
Intel Advisor XE jest to narzędzie wspomagające tworzenie równoległych aplikacji. Do jego kluczowych cech zalicza się znajdowanie najbardziej czasochłonnych sekcji kodu, modelowanie zrównoleglenia oraz znajdowanie błędów współbieżności. Narzędzie to pozwala na projektowanie równoległych aplikacji w czterech językach programowania – C, C++, C#, Fortran przy użyciu następujących modeli programowania równoległego - OpenMP, Intel Thread Building Blocks, Intel Cilk Plus oraz Microsoft TPL.


Intel advisor.PNG
Rysunek 1. Intel Advisor


Projektowanie wielowątkowych aplikacji z wykorzystaniem narzędzia Intel Advisor XE obejmuje pięć różnorodnych etapów:

  • Etap 1 - aplikacja analizowana jest pod kątem najbardziej czasochłonnych fragmentów kodu (najczęściej są nimi pętle) określanych mianem "hot spotów". Po wykonaniu analizy narzędzie szacuje, które z fragmentów warto zrównoleglić, aby zwiększyć wydajność obliczeń i przedstawia je użytkownikowi/programiście w postaci listy.
  • Etap 2 - po wybraniu segmentu kodu, który ma docelowo zostać zrównoleglony, do kodu źródłowego wprowadzane są dedykowane makro funkcje określane mianem annotacji. Są one wykorzystywane do modelowania zrównoleglenia wybranego fragmentu kodu źródłowego.
  • Etap 3 - na podstawie wprowadznych annotacji (makro funkcji) narzędzie Intel Advisor pozwala ocenić wzrost wydajności na podstawie wybranej architektury oraz zdanej liczbie wątków. W etapie tym, możliwe jest również oszacowanie jak zmienia się wydajność obliczeń w zależności np.: od liczby iteracji pętli oraz czasu trwania pojedynczej iteracji. Etap ten pozwala także określić jakiego rodzaju modyfikacje warto wprowadzić do kodu źródłowego, przykładowo ustawić odpowiedni podział iteracji pomiędzy wątki.
  • Etap 4 - obszary kodu źródłowego, w których wprowadzono annotacje analizowane są pod kątem błędów współbieżności,
  • Etap 5 - na podstawie schematu zrównoleglenia opracowanego przy pomocy makro funkcji, aplikacja zrównoleglona zostaje przy pomocy wybranego standardu programowania równoległego.


W przypadku aplikacji dedykowanych dla produktów bazujących na architekturze Intel MIC, w każdym z pięciu etapów projektowana aplikacja uruchamiana jest na procesorze hosta. Oszacowanie wydajności obliczeń realizowanych w ramach koprocesora odbywa się w trzecim etapie projektowania, kiedy to określana jest platforma docelowa, w której uruchomiona zostanie aplikacja. Omówiona sytuacja przedstawiona została na Rysunku 1.



< Narzędzia programistyczne - Intel VTune Inspector

Narzędzia programistyczne - Intel Trace Analyzer and Collector >