Przejdź do treści

Kompendium wiedzy

potrzebnej do tworzenia wydajnych aplikacji, które potrafią wykorzystać możliwości obliczeniowe współczesnych systemów komputerowych.

Przyspiesz swoje obliczenia

używaj efektywnie CPU

akceleruj obliczenia poprzez GPU

korzystaj z ogromnej mocy superkomputerów

speed speed speed

Działy platformy

Co powinieneś wiedzieć, żeby napisać wydajną aplikację?

W tym dziale omówione są czynniki mające wpływ na wydajność aplikacji - od implementacji, przez kompilację, aż do sposobu wykonania.

Zarysowana zostaje specyfika architektury współczesnych komputerów oraz środowiska HPC, a także pojęcia wykorzystywane do opisu i analizy wydajności programów.

Z czego możesz skorzystać?

Przegląd rozwiązań programistycznych służących zrównoleglaniu i prowadzeniu wydajnych obliczeń.

To nie tylko różne technologie programistyczne, ale także gotowe biblioteki obliczeniowe oraz sprawdzone rozwiązania dla sztucznej inteligencji.

Jak napisać kod, który wykorzysta dostępne możliwości sprzętowe?

Wskazówki dotyczące pisania kodu, który jest w stanie wydobyć jak największą wydajność z dostępnego sprzętu obliczeniowego.

Zarówno ogólne jak i specyficzne dla konkretnych technologii.

Jak ocenić wydajność programu i dokonać jego optymalizacji?

W tym dziale opisane są narzędzia służące do oceny wydajności programu. Dzięki nim możliwa jest optymalizacja wydajności.

Od podstawowych rozwiązań standardowo dostępnych w systemie, po rozbudowane narzędzia specjalnie przeznaczone do tego celu.

Każdy dział tworzy odrębną całość, przy czym dalsze działy bazują na informacjach i pojęciach z wcześniejszych działów.
Działy Platformy odpowiadają różnym obszarom wiedzy potrzebnej do programowania wydajnych aplikacji.

Platforma łączy w sobie wiedzę podstawową ze specjalistyczną, ma
charakter ogólno-programistyczny

Będzie przydatna zarówno przy tworzeniu aplikacji “od zera” jak i przy optymalizacji już napisanego kodu.

Będzie użyteczna przy pisaniu dowolnego kodu obliczeniowego - zarówno małych jak i masywnie równoległych programów.

Będzie pomocna zarówno dla początkujących jak i bardziej zaawasowanych programistów.

Szczególny nacisk kładziemy na:

obliczenia z wykorzystaniem superkomputerów (High Performance Computing), gdzie potrzebna jest wysoka skalowalność obliczeń

rozwiązania pozwalające na prowadzenie efektywnych obliczeń w dziedzinie sztucznej inteligencji