Opracowywanie modeli programowania i narzędzi poprawiających wydajność dla superkomputerów przyszłości
Architektura systemów HPC, które są coraz powszechniej stosowane w aplikacjach w praktycznie każdej branży i sektorze, przeszła w ostatnich latach wiele zmian mających ją przygotować do heterogeniczności komputerów eksaskalowych przyszłości. Dokładne, szybkie i skalowalne modele wydajności i narzędzia symulacyjne mają kluczowe znaczenie dla oceny różnych architektur akceleratorów sprzętowych, takich jak procesory graficzne, bezpośrednio programowalne macierze bramek, heterogeniczne systemy pamięciowe (w tym pamięci nieulotne i trwałe) oraz sieci. Tą kwestią zajmuje się finansowany ze środków UE projekt EPEEC, w toku realizacji którego „skompilowano pięć komponentów oprogramowania opracowanych przez europejskie firmy i instytucje badawcze, by dopracowywać powstające w ramach inicjatywy środowisko programistyczne i tworzyć dla niego aplikacje”, jak czytamy w komunikacie prasowym. EPEEC skupia się na różnych aspektach oprogramowania, które mają newralgiczne znaczenie dla przetwarzania intensywnego obliczeniowo, w tym na efektywności wykonania, skalowalności, świadomości energetycznej, kompozycyjności/interoperacyjności i produktywności programistów. Pomysł zakłada, że EPEEC ma umożliwić automatyczne generowanie dyrektywy kompilatora dla aplikacji, zapewniając w ten sposób wysoką produktywność programowania dzięki zestawowi narzędzi, które będą wykorzystywać pełen potencjał nowych platform sprzętowych. Deweloperzy będą mogli korzystać z preferowanego języka programowania – C, Fortrana lub C++ – oraz z modeli programowania akceleratorów (OpenMP, OpenACC, CUDA, OpenCL). Możliwy będzie również wybór miedzy globalną a rozproszoną pamięcią współdzieloną. Oprócz wysokiej produktywności programowania celem projektu EPEEC jest także osiągnięcie wysokiej wydajności, by możliwe było środowisko programistyczne z wszystkimi istotnymi funkcjami na ósmym poziomie gotowości technologicznej (TRL 8) dla dzisiejszych systemów „pre-eksaskalowych” i na czwartym poziomie dla platform eksaskalowych (TRL 4 – zweryfikowano w warunkach laboratoryjnych). W kontekście świadomości energetycznej EPEEC zakłada sprawne i energooszczędne zarządzanie heterogenicznością sprzętu, w tym zarówno elementów przetwarzających, jak i podsystemów pamięciowych. EPEEC ma zasadniczo uprościć tworzenie oprogramowania aplikacyjnego dla systemów o dużej skali lub eksaskalowych.
Aplikacje
Jak wyjaśniono w tym samym komunikacie prasowym, EPEEC obejmuje pięć aplikacji z różnych dziedzin nauki. Są to AVBP (dynamika płynów i spalanie), DIOGENeS (nanofotonika/nanoplazmonika), OSIRIS (fizyka plazmy), Quantum ESPRESSO (badania materiałowe) i SMURFF (nauki przyrodnicze). „Rozwiązania te wywodzą się z różnych obszarów i służą do intensywnych obliczeń, intensywnego korzystania z danych lub błyskawicznego przetwarzania ich ogromnych ilości. Odpowiadające za nie zespoły są doskonałymi partnerami w projektowaniu, a aplikacje te posłużą jako »pre-eksaskalowe« programy demonstracyjne”. Na stronie internetowej projektu czytamy: „AVPB to solver równań Naviera-Stokesa w 3D dla ściśliwych reaktywnych przepływów wielofazowych w nieustrukturyzowanych sieciach wieloelementowych”. Z tej samej strony możemy dowiedzieć się, że program AVBP jest używany do zadań badawczo-rozwojowych w branży lotniczej przez europejskie i kanadyjskie instytucje publiczne, a także przez Europejskie Centrum Badań i Zaawansowanych Szkoleń w Obszarze Obliczeń Naukowych, partnera przemysłowego projektu EPEEC. Na stronie czytamy również, że „DIOGENeS (DIscOntinuous GalErkin Nanoscale Solvers) to pakiet oprogramowania przeznaczonego do nanofotoniki/nanoplazmoniki obliczeniowej”. Według informacji na stronie projektu aplikacja OSIRIS służy z kolei do symulacji „nieliniowych i kinetycznych procesów, do których dochodzi podczas charakteryzujących się wysoką intensywnością interakcji miedzy cząsteczką i wiązką laserową a plazmą”. Quantum ESPRESSO jest natomiast nazwą zintegrowanego pakietu kodów komputerowych open-source do obliczeń dotyczących struktur elektronicznych i modelowania materiałów w nanoskali. „SMURFF (Scalable Matrix Factorization Framework) jest wysoce wydajną implementacją kilku technik faktoryzacji macierzy”, czytamy w tym samym portalu internetowym. Faktoryzacja macierzy to powszechna metoda uczenia maszynowego stosowana w systemach rekomendacyjnych, takich ja te, które polecają książki w serwisie Amazon lub filmy na platformie Netflix. Prace realizowane w ramach EPEEC (European joint Effort toward a Highly Productive Programming Environment for Heterogeneous Exascale Computing) przyniosą korzyści w rozmaitych obszarach, m.in. w opiece zdrowotnej i badaniach nad lekami, modelowaniu klimatu, prognozowaniu pogody i energetyce. Więcej informacji: strona projektu EPEEC
Kraje
Hiszpania