{"id":571,"date":"2024-12-16T15:54:17","date_gmt":"2024-12-16T14:54:17","guid":{"rendered":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/?page_id=571"},"modified":"2024-12-16T20:58:54","modified_gmt":"2024-12-16T19:58:54","slug":"571-2","status":"publish","type":"page","link":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/?page_id=571","title":{"rendered":"Linaro Forge"},"content":{"rendered":"\n<div class=\"wp-block-group lsw-sp is-vertical is-layout-flex wp-container-core-group-is-layout-8cf370e7 wp-block-group-is-layout-flex\">\n<h2 class=\"wp-block-heading\">Linaro Forge<\/h2>\n\n\n\n<p>Linaro Forge to komercyjny pakiet przeznaczony <strong>do pracy z aplikacjami r\u00f3wnoleg\u0142ymi<\/strong>, zar\u00f3wno wielow\u0105tkowymi jak i rozproszonymi. Udost\u0119pnia dwa narz\u0119dzia do analizy wydajno\u015bci: <strong>Linaro Performance Reports<\/strong> \u2013 do generowania og\u00f3lnych raport\u00f3w dot. wydajno\u015bci aplikacji jako ca\u0142o\u015bci, oraz <strong>Linaro MAP<\/strong> \u2013 profiler szczeg\u00f3\u0142owo analizuj\u0105cy zachowanie aplikacji w czasie. W sk\u0142ad pakietu wchodzi r\u00f3wnie\u017c r\u00f3wnoleg\u0142y debugger (Linaro DDT). Posiada wsparcie zar\u00f3wno dla klasycznych program\u00f3w wykonywanych na <strong>CPU<\/strong> jak i akcelerowanych na <strong>GPU<\/strong> (model CUDA).<\/p>\n\n\n\n<p>Linaro Forge obs\u0142ugu je wiele modeli zr\u00f3wnoleglania oblicze\u0144, w tym MPI, CUDA i OpenMP. Posiada wsparcie dla najnowszych kompilator\u00f3w i standard\u00f3w C\/C++, obs\u0142uguje r\u00f3wnie\u017c j\u0119zyki Fortran oraz Python. Jest przeznaczony do dzia\u0142ania na sprz\u0119cie r\u00f3\u017cnego rodzaju: <strong>procesory<\/strong> Intel, AMD, Arm, OpenPOWER, a tak\u017ce <strong>akceleratory<\/strong> NVIDIA GPU oraz AMD GPU.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dost\u0119pno\u015b\u0107<\/h3>\n\n\n\n<p>Narz\u0119dzia firmy Linaro wchodz\u0105ce w sk\u0142ad pakietu Forge zosta\u0142y udost\u0119pnione u\u017cytkownikom Laboratorium Symulacji Wieloskalowych PIONIER-LAB. W celu uzyskania dost\u0119pu do oprogramowania zainstalowanego na zasobach obliczeniowych o\u015brodk\u00f3w wchodz\u0105cych w sk\u0142ad Laboratorium zapraszamy do <a href=\"https:\/\/multiscale.pionier-lab.pionier.net.pl\/?page_id=157\" data-type=\"page\" data-id=\"157\">Kontaktu<\/a>. W celu zaznajomienia si\u0119 z funkcjonalno\u015bci\u0105 produktu mo\u017cliwe jest <a href=\"https:\/\/www.linaroforge.com\/freeTrial\/\">pobranie wersji trial<\/a> ze strony producenta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Szczeg\u00f3\u0142y<a href=\"https:\/\/kompendium.plgrid.pl\/analiza-wydajnosci\/narzedzia\/linaro-forge\/#szczegoly\"><\/a><\/h2>\n\n\n\n<p>Pakiet Linaro Forge sk\u0142ada si\u0119 z trzech narz\u0119dzi przystosowanych do pracy z aplikacjami zar\u00f3wno sekwencyjnymi, wielow\u0105tkowymi jak i rozproszonymi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Linaro Performance Reports<\/strong> \u2013 do generowania raport\u00f3w dot. wydajno\u015bci aplikacji,<\/li>\n\n\n\n<li><strong>Linaro MAP<\/strong> \u2013 do profilowania wydajno\u015bci i porad dotycz\u0105cych optymalizacji,<\/li>\n\n\n\n<li><strong>Linaro DDT<\/strong> \u2013 do debugowania.<\/li>\n<\/ul>\n\n\n\n<p>Jako \u017ce skupiamy si\u0119 na narz\u0119dziach do analizy wydajno\u015bci, poni\u017cej s\u0105 opisane tylko pierwsze dwa z nich. Po informacje na temat debugera z pakietu Forge odsy\u0142amy do strony <a href=\"https:\/\/www.linaroforge.com\/linaroDdt\/\">Linaro DDT<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Linaro Performance Reports<\/h3>\n\n\n\n<p>Linaro Performance Reports jest narz\u0119dziem do przeprowadzania szybkiej analizy wydajno\u015bci programu. Pomy\u015blany jako punkt startowy do oceny wydajno\u015bci programu \u2013 <strong>zachowania aplikacji<\/strong> pod k\u0105tem zu\u017cycia r\u00f3\u017cnych zasob\u00f3w. Tak jak reszta narz\u0119dzi z pakietu Linaro Forge, jest dostosowany do pracy z aplikacjami rozproszonymi i wielow\u0105tkowymi. Jego funkcjonalno\u015b\u0107 jest podobna do Intel VTune Application Performance Snapshot.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Raporty<a href=\"https:\/\/kompendium.plgrid.pl\/analiza-wydajnosci\/narzedzia\/linaro-forge\/#raporty\"><\/a><\/h4>\n\n\n\n<p>Po zastosowaniu programu Performance Reports otrzymuje si\u0119 <strong>raport<\/strong> w formie strony HTML oraz zwyk\u0142ego pliku tekstowego (TXT lub CSV). Zawiera on podsumowanie zachowania naszej aplikacji \u2013 <strong>procent czasu sp\u0119dzonego przez badany program w trybach<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>obliczeniowym (compute),<\/li>\n\n\n\n<li>I\/O (operacji wyj\u015bcia\/wej\u015bcia systemu plik\u00f3w),<\/li>\n\n\n\n<li>MPI (operacji zwi\u0105zanych z wywo\u0142aniami MPI),<\/li>\n\n\n\n<li>Python (czas wykorzystany przez interpreter, z wy\u0142\u0105czeniem bibliotek zewn\u0119trznych).<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"743\" src=\"https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-summary-1024x743.png\" alt=\"\" class=\"wp-image-587\" srcset=\"https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-summary-1024x743.png 1024w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-summary-300x218.png 300w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-summary-768x558.png 768w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-summary.png 1460w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Przyk\u0142adowy raport HTML \u2013 podsumowanie<\/figcaption><\/figure>\n\n\n\n<p>W dalszej cz\u0119\u015bci raport przedstawia bardziej <strong>szczeg\u00f3\u0142owy opis ka\u017cdego z badanych aspekt\u00f3w<\/strong>. Raport zawiera r\u00f3wnie\u017c komentarze dotycz\u0105ce zmierzonych warto\u015bci oraz ewentualne <strong>rekomendacje<\/strong> dotycz\u0105ce potencjalnych optymalizacji mog\u0105cych poprawi\u0107 wydajno\u015b\u0107 aplikacji w danym obszarze.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"880\" src=\"https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-cpu-section-1024x880.png\" alt=\"\" class=\"wp-image-590\" srcset=\"https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-cpu-section-1024x880.png 1024w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-cpu-section-300x258.png 300w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-cpu-section-768x660.png 768w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-perf-report-xhpl-cpu-section.png 1460w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Przyk\u0142adowy raport HTML \u2013 cz\u0119\u015b\u0107 szczeg\u00f3\u0142owa<\/figcaption><\/figure>\n\n\n\n<p>W odr\u00f3\u017cnieniu od danych podawanych przez bardziej zaawansowane narz\u0119dzia (np. Linaro MAP), raport dotyczy ca\u0142o\u015bciowego wykonania aplikacji i <strong>nie umo\u017cliwia analizy zachowania aplikacji w czasie, ani w poszczeg\u00f3lnych funkcjach<\/strong>. Dla przyk\u0142adu: nie uzyskamy informacji, \u017ce aplikacja czeka na operacji I\/O w 10 sekundzie wykonania z uwagi na wywo\u0142anie funkcji <code>write<\/code>, a jedynie, \u017ce podczas uruchomienia aplikacja sp\u0119dzi\u0142a dany procent ca\u0142o\u015bciowego czasu wykonania na operacje I\/O.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Zastosowania<a href=\"https:\/\/kompendium.plgrid.pl\/analiza-wydajnosci\/narzedzia\/linaro-forge\/#zastosowania\"><\/a><\/h4>\n\n\n\n<p>Pakiet Linaro Performance Reports mo\u017ce by\u0107 pomocny jako pierwsze (szybkie i czytelne) \u017ar\u00f3d\u0142o informacji o wydajno\u015bci aplikacji, a dok\u0142adniej:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>czasie wykonywania r\u00f3\u017cnych typ\u00f3w operacji,<\/li>\n\n\n\n<li>identyfikacji potencjalnych \u017ar\u00f3de\u0142 niskiej efektywno\u015bci,<\/li>\n\n\n\n<li>por\u00f3wnywania wydajno\u015bci i zachowania r\u00f3\u017cnych wersji aplikacji lub uruchomie\u0144 tej samej aplikacji przy r\u00f3\u017cnych konfiguracjach.<\/li>\n<\/ul>\n\n\n\n<p>Informacje (i podpowiedzi) z raport\u00f3w <strong>nale\u017cy traktowa\u0107 jako pogl\u0105dowe<\/strong>. Do dok\u0142adniejszego zrozumienia zachowania aplikacji zaleca si\u0119 skorzystanie z profilera (Linaro MAP).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tryb linii polece\u0144<\/h4>\n\n\n\n<p>Linaro Performance Reports posiada mo\u017cliwo\u015b\u0107 generowania raport\u00f3w z linii polece\u0144 \u2013 komenda <code>perf-report<\/code>. Mo\u017cna to wykorzysta\u0107 np. w ramach zadania wsadowego systemu kolejkowego. Mo\u017cliwe jest przygotowanie raport\u00f3w wydajno\u015bci bez konieczno\u015bci modyfikacji badanej aplikacji skompilowanej dynamicznie a tak\u017ce wykonanie raportu na podstawie istniej\u0105cych plik\u00f3w z rozszerzeniem <code>.map<\/code> wygenerowanych przez Linaro MAP.<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Przyk\u0142adowe uruchomienie Linaro Performance Reports<\/summary>\n<p>Aby uzyska\u0107 raport, wystarczy uruchomi\u0107 aplikacj\u0119 w standardowy spos\u00f3b, dodaj\u0105c jedynie na pocz\u0105tku komend\u0119 <code>perf-report<\/code>. Dla przyk\u0142adu, je\u015bli aplikacja jest wywo\u0142ywana poleceniem<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mpiexec xhpl<\/code><\/pre>\n\n\n\n<p>nale\u017cy wywo\u0142a\u0107 j\u0105 z u\u017cyciem komendy<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>perf-report mpiexec xhpl<\/code><\/pre>\n\n\n\n<p>Po takim wywo\u0142aniu, w katalogu bie\u017c\u0105cym powinny pojawi\u0107 si\u0119 pliki <code>xhpl_Ap_Bn_YYYY-MM-DD_hh-mm.txt<\/code> oraz <code>xhpl_Ap_Bn_YYYY-MM-DD_hh-mm.html<\/code>, gdzie<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>A<\/code> \u2500 \u0142\u0105czna ilo\u015b\u0107 procesor\u00f3w dla wywo\u0142ania aplikacji<\/li>\n\n\n\n<li><code>B<\/code> \u2500 \u0142\u0105czna ilo\u015b\u0107 w\u0119z\u0142\u00f3w\/komputer\u00f3w dla wywo\u0142ania aplikacji w trybie MPI<\/li>\n\n\n\n<li><code>YYYY-MM-DD_hh-mm<\/code> \u2500 format daty generowania pliku (rok\/miesi\u0105c\/dzie\u0144\/godzina).<\/li>\n<\/ul>\n\n\n\n<p>Dodatkowo posiadaj\u0105c ju\u017c wygenerowany wcze\u015bniej plik <code>.map<\/code>, mo\u017cna na jego podstawie utworzy\u0107 raport bez ponownego uruchamiania aplikacji. Odpowiednia komenda wtedy to<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>perf-report plik.map<\/code><\/code><\/pre>\n<\/details>\n\n\n\n<h3 class=\"wp-block-heading\">Linaro MAP<\/h3>\n\n\n\n<p>Linaro MAP to skalowalny profiler, s\u0142u\u017c\u0105cy do analizy zachowanie aplikacji pod k\u0105tem wydajno\u015bci i zu\u017cycia r\u00f3\u017cnych zasob\u00f3w. Umo\u017cliwia interaktywn\u0105 analiz\u0119 profilu wykonania programu \u2013 tego jak zachowywa\u0142a si\u0119 aplikacja w czasie. Posiada wsparcie dla aplikacji rozproszonych oraz wielow\u0105tkowych. Jest wygodny w u\u017cyciu:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>nie wymaga zmian w kodzie<\/strong> aplikacji,<\/li>\n\n\n\n<li><strong>nie generuje du\u017cego narzutu<\/strong>, wg. informacji producenta, profilowanie rzeczywistych scenariuszy wykonania programu, nie generuje wzrostu czasu dzia\u0142ania wi\u0119kszego ni\u017c 5%.<\/li>\n<\/ul>\n\n\n\n<p>Narz\u0119dzie Linaro MAP <strong>pozwala na analiz\u0119 aplikacji korzystaj\u0105cych nie tylko z CPU, ale r\u00f3wnie\u017c u\u017cywaj\u0105cych akcelerator\u00f3w GPU<\/strong> (zar\u00f3wno firmy NVIDIA jak i AMD, czyli w modelach CUDA oraz HIP). Mo\u017cliwe jest profilowanie aplikacji zar\u00f3wno pracuj\u0105cych jednow\u0105tkowo, wielow\u0105tkowo (OpenMP oraz pthreads) a tak\u017ce korzystaj\u0105cych z technologii do pracy w systemie rozproszonym (MPI).<\/p>\n\n\n\n<p>Linaro MAP udost\u0119pnia <strong>interfejs graficzny<\/strong> (GUI) do analizy danych zawieraj\u0105cych zapis dzia\u0142ania (profil) aplikacji u\u017cytkownika. G\u0142\u00f3wn\u0105 cz\u0119\u015bci\u0105 GUI jest <strong>wizualizacja analizy dzia\u0142ania aplikacji jej dzia\u0142ania na osi czasu<\/strong> (<em>timeline<\/em>). Samo uruchomienie wybranej aplikacji u\u017cytkownika oraz rejestracja jej dzia\u0142ania (profilowanie) mo\u017ce odbywa\u0107 si\u0119 zar\u00f3wno z poziomu GUI jak i interfejsu <strong>wiersza polece\u0144<\/strong> (polecenie <code>map<\/code>). Dzi\u0119ki temu drugiemu rozwi\u0105zaniu mo\u017cliwe jest zbieranie danych na systemach bez dost\u0119pnego \u015brodowiska graficznego, na przyk\u0142ad na platformach HPC. W takiej sytuacji analiz\u0119 dzia\u0142ania aplikacji mo\u017cna przeprowadzi\u0107 p\u00f3\u017aniej na innym urz\u0105dzeniu, np. swoim komputerze, poprzez pobranie zapisanego profilu wykonania aplikacji (pliku <code>.map<\/code>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"624\" src=\"https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-map-xhpl-1024x624.png\" alt=\"\" class=\"wp-image-592\" srcset=\"https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-map-xhpl-1024x624.png 1024w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-map-xhpl-300x183.png 300w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-map-xhpl-768x468.png 768w, https:\/\/multiscale.pionier-lab.pionier.net.pl\/wp-content\/uploads\/2024\/12\/linaro-map-xhpl.png 1307w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Interfejs graficzny Linaro MAP<\/figcaption><\/figure>\n\n\n\n<p>Przyk\u0142adowymi wielko\u015bciami jakie mo\u017cna zbada\u0107 korzystaj\u0105c z Linaro MAP s\u0105:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>procent czasu CPU dla operacji:\n<ul class=\"wp-block-list\">\n<li>zmiennoprzecinkowych skalarnych i osobno wektorowych,<\/li>\n\n\n\n<li>typu integer skalarnych i osobno wektorowych,<\/li>\n\n\n\n<li>zwi\u0105zanych z dost\u0119pem do pami\u0119ci,<\/li>\n\n\n\n<li>typu branch,<\/li>\n\n\n\n<li>wykorzystania rdzeni przez w\u0105tki;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>procent czasu wykorzystania rdzeni przez w\u0105tki w trybie u\u017cytkownika oraz kernela;<\/li>\n\n\n\n<li>ilo\u015b\u0107 prze\u0142\u0105cze\u0144 kontekstu zar\u00f3wno zwyk\u0142ych jak i wymuszonych (<em>voluntary<\/em> i <em>involuntary<\/em>);<\/li>\n\n\n\n<li>przepustowo\u015b\u0107 operacji odczytu oraz zapisu (POSIX I\/O read\/write);<\/li>\n\n\n\n<li>metryki transferu dla operacji dyskowych;<\/li>\n\n\n\n<li>dla zada\u0144 MPI:\n<ul class=\"wp-block-list\">\n<li>czas trwania wywo\u0142a\u0144 MPI,<\/li>\n\n\n\n<li>\u015brednia liczba operacji p2p oraz tzw. collective,<\/li>\n\n\n\n<li>liczniki danych wys\u0142anych i odebranych, z podzia\u0142em na rodzaje operacji;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>dla zada\u0144 GPGPU:\n<ul class=\"wp-block-list\">\n<li>wykorzystanie procesora karty GPU,<\/li>\n\n\n\n<li>wykorzystanie pami\u0119ci GPU,<\/li>\n\n\n\n<li>metryki transfer\u00f3w pami\u0119ci dla kart NVidia:\n<ul class=\"wp-block-list\">\n<li>cpu &#8211; gpu, gpu &#8211; cpu,<\/li>\n\n\n\n<li>gpu &#8211; gpu &#8211; wewn\u0105trz pojedynczego GPU,<\/li>\n\n\n\n<li>peer to peer &#8211; pomi\u0119dzy kartami GPU;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>monitorowanie poboru energii przy pomocy interfejsu RAPL.<\/li>\n<\/ul>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Przyk\u0142adowe uruchomienie Linaro MAP<br><\/summary>\n<p>Aby sprofilowa\u0107 aplikacj\u0119, wystarczy uruchomi\u0107 j\u0105 w taki sam spos\u00f3b jak zwykle, dodaj\u0105c jedynie na pocz\u0105tku <code>map --profile<\/code>. Dla przyk\u0142adu, je\u015bli aplikacja jest wywo\u0142ywana poleceniem<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>mpiexec xhpl<\/code><\/code><\/pre>\n\n\n\n<p>nale\u017cy wywo\u0142a\u0107 j\u0105 z u\u017cyciem komendy <code>map --profile mpiexec xhpl<\/code><br>Po takim wywo\u0142aniu, w katalogu bie\u017c\u0105cym powinien pojawi\u0107 si\u0119 plik <code>xhpl_Ap_Bn_YYYY-MM-DD_hh-mm.map<\/code>, gdzie konwencja nazewnictwa jest podobna jak w przypadku <code>perf-report<\/code> (patrz Linaro Performance Reports &gt; Tryb linii polece\u0144). Po wykonaniu profilu i wygenerowaniu pliku <code>.map<\/code>, wyniki mo\u017cna obejrze\u0107 w GUI.<\/p>\n<\/details>\n\n\n\n<h2 class=\"wp-block-heading\">Linki<a href=\"https:\/\/kompendium.plgrid.pl\/analiza-wydajnosci\/narzedzia\/linaro-forge\/#linki\"><\/a><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/www.linaroforge.com\/linaroMap\">Strona Linaro MAP<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.linaroforge.com\/linaroPerformanceReports\/\">Strona Linaro Performance Reports<\/a><\/strong><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.linaroforge.com\/latest\/html\/forge\/index.html\">Dokumentacja<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/resources.linaro.org\/en\/tags\/eda41daa-705e-4e65-ad6b-928f6a0a9a8c\">Materia\u0142y wideo &#8211; wprowadzenie do narz\u0119dzi Linaro<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-center lsw-created-by wp-container-content-9cfa9a5a\"><em>(Materia\u0142 opracowany we wsp\u00f3\u0142pracy z ACK Cyfronet AGH)<\/em><\/p>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Linaro Forge Linaro Forge to komercyjny pakiet przeznaczony do pracy z aplikacjami r\u00f3wnoleg\u0142ymi, zar\u00f3wno wielow\u0105tkowymi jak i rozproszonymi. Udost\u0119pnia dwa narz\u0119dzia do analizy wydajno\u015bci: Linaro Performance Reports \u2013 do generowania og\u00f3lnych raport\u00f3w dot. wydajno\u015bci aplikacji jako ca\u0142o\u015bci, oraz Linaro MAP \u2013 profiler szczeg\u00f3\u0142owo analizuj\u0105cy zachowanie aplikacji w czasie. W sk\u0142ad pakietu wchodzi r\u00f3wnie\u017c r\u00f3wnoleg\u0142y debugger &#8230; <a title=\"Linaro Forge\" class=\"read-more\" href=\"https:\/\/multiscale.pionier-lab.pionier.net.pl\/?page_id=571\" aria-label=\"More on Linaro Forge\">Czytaj dalej<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-571","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/index.php?rest_route=\/wp\/v2\/pages\/571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=571"}],"version-history":[{"count":20,"href":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/index.php?rest_route=\/wp\/v2\/pages\/571\/revisions"}],"predecessor-version":[{"id":629,"href":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/index.php?rest_route=\/wp\/v2\/pages\/571\/revisions\/629"}],"wp:attachment":[{"href":"https:\/\/multiscale.pionier-lab.pionier.net.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}