- Zrozumienie systemów HPC
- Doświadczenie w programowaniu równoległym
Publiczność
- Inżynierowie oprogramowania
OpenMP (Open Multi-Processing) to interfejs API do programowania wieloprocesowego w pamięci współdzielonej. Dzięki OpenMP programiści mogą tworzyć aplikacje równoległe dla platform od komputerów stacjonarnych po systemy bez pamięci współdzielonej.
Szkolenie na żywo prowadzone przez instruktora (na miejscu lub zdalnie) jest przeznaczone dla inżynierów oprogramowania, którzy chcą tworzyć aplikacje równoległe przy użyciu OpenMP.
Pod koniec tego szkolenia uczestnicy będą mogli
- Zrozumieć i używać programowania równoległego z Fortranem w OpenMP.
- Obliczać fraktale równolegle w celu renderowania wielu pikseli i znaków.
- Implementować programowanie wektorowe z rozszerzeniami SIMD dla systemów HPC.
- Dodawać bloki równoległe do określania równoległości pamięci współdzielonej.
Format kursu
- Interaktywny wykład i dyskusja.
- Wiele ćwiczeń i praktyki.
- Praktyczna implementacja w środowisku laboratoryjnym na żywo.
Opcje dostosowywania kursu
- Aby poprosić o spersonalizowane szkolenie dla tego kursu, skontaktuj się z nami.
Wprowadzenie
Wielowątkowość Programming
- Składnia i konstrukcje
- Klauzule i sekcje
Wsparcie dla odciążania
- Dyrektywy i dane docelowe
- Klauzule if, device i map
Bezpieczeństwo i współdzielenie wątków
- Atomowość
- Konstrukcje, blokady i dyrektywy
- Klauzule współdzielone
Przygotowanie środowiska programistycznego
- Instalowanie i konfigurowanie OpenMP
- Instalacja i konfiguracja VMWare
- Konfigurowanie HPC za pomocą VMWare
Równoległe Programming w OpenMP
- Tworzenie przykładowego kodu hello world i demonstracja
- Konstrukcje współdzielenia pracy
- Praca z pętlami for
- Korzystanie z równoległości sekcji
- Korzystanie z fraktali
- Dodawanie wektorów
Wektor Programming i rozszerzenia SIMD
- Wektoryzacja pętli
- Dodawanie adnotacji do funkcji zdefiniowanych przez użytkownika
- Używanie funkcji obsługujących adnotacje SIMD
- Generowanie funkcji wektorowej
- Rejestrowanie wartości zwracanych wektora
Fortran w OpenMP
- Konstrukcje współdzielone
- Konstrukcje synchronizujące
- Używanie klauzul atrybutów zakresu danych i innych klauzul
- Praca z biblioteką OpenMP-Runtime
Bloki równoległe
- Określanie liczby wątków
- Wykonywanie równoległych bloków instrukcji
- Rozróżnianie uruchomionych wątków w bloku równoległym
- Używanie dyrektyw krytycznych omp
Podsumowanie i wnioski
United Arab Emirates - Parallel Programming with OpenMP
Qatar - Parallel Programming with OpenMP
Egypt - Parallel Programming with OpenMP
Saudi Arabia - Parallel Programming with OpenMP
South Africa - Parallel Programming with OpenMP
Brasil - Parallel Programming with OpenMP
Canada - Parallel Programming with OpenMP
中国 - Parallel Programming with OpenMP
香港 - Parallel Programming with OpenMP
澳門 - Parallel Programming with OpenMP
台灣 - Parallel Programming with OpenMP
USA - Parallel Programming with OpenMP
Österreich - Parallel Programming with OpenMP
Schweiz - Parallel Programming with OpenMP
Deutschland - Parallel Programming with OpenMP
Czech Republic - Parallel Programming with OpenMP
Denmark - Parallel Programming with OpenMP
Estonia - Parallel Programming with OpenMP
Finland - Parallel Programming with OpenMP
Greece - Parallel Programming with OpenMP
Magyarország - Parallel Programming with OpenMP
Ireland - Parallel Programming with OpenMP
Luxembourg - Parallel Programming with OpenMP
Latvia - Parallel Programming with OpenMP
España - Parallel Programming with OpenMP
Italia - Parallel Programming with OpenMP
Lithuania - Parallel Programming with OpenMP
Nederland - Parallel Programming with OpenMP
Norway - Parallel Programming with OpenMP
Portugal - Parallel Programming with OpenMP
România - Parallel Programming with OpenMP
Sverige - Parallel Programming with OpenMP
Türkiye - Parallel Programming with OpenMP
Malta - Parallel Programming with OpenMP
Belgique - Parallel Programming with OpenMP
France - Parallel Programming with OpenMP
日本 - Parallel Programming with OpenMP
Australia - Parallel Programming with OpenMP
Malaysia - Parallel Programming with OpenMP
New Zealand - Parallel Programming with OpenMP
Philippines - Parallel Programming with OpenMP
Singapore - Parallel Programming with OpenMP
Thailand - Parallel Programming with OpenMP
Vietnam - Parallel Programming with OpenMP
India - Parallel Programming with OpenMP
Argentina - Parallel Programming with OpenMP
Chile - Parallel Programming with OpenMP
Costa Rica - Parallel Programming with OpenMP
Ecuador - Parallel Programming with OpenMP
Guatemala - Parallel Programming with OpenMP
Colombia - Parallel Programming with OpenMP
México - Parallel Programming with OpenMP
Panama - Parallel Programming with OpenMP
Peru - Parallel Programming with OpenMP
Uruguay - Parallel Programming with OpenMP
Venezuela - Parallel Programming with OpenMP
Polska - Parallel Programming with OpenMP
United Kingdom - Parallel Programming with OpenMP
South Korea - Parallel Programming with OpenMP
Pakistan - Parallel Programming with OpenMP
Sri Lanka - Parallel Programming with OpenMP
Bulgaria - Parallel Programming with OpenMP
Bolivia - Parallel Programming with OpenMP
Indonesia - Parallel Programming with OpenMP
Kazakhstan - Parallel Programming with OpenMP
Moldova - Parallel Programming with OpenMP
Morocco - Parallel Programming with OpenMP
Tunisia - Parallel Programming with OpenMP
Kuwait - Parallel Programming with OpenMP
Oman - Parallel Programming with OpenMP
Slovakia - Parallel Programming with OpenMP
Kenya - Parallel Programming with OpenMP
Nigeria - Parallel Programming with OpenMP
Botswana - Parallel Programming with OpenMP
Slovenia - Parallel Programming with OpenMP
Croatia - Parallel Programming with OpenMP
Serbia - Parallel Programming with OpenMP
Bhutan - Parallel Programming with OpenMP