Mathematica
![]() |
Wykorzystanie komputerów wieloprocesorowych do realizacji obliczeń równoległych w środowisku programu Mathematica. |
Cel kursu:
Kurs zapozna uczestników z możliwościami zastosowania programu w obliczeniach równoległych. Omówione zostaną funkcje wykorzystywane przy inicjowaniu i sterowaniu obliczeniami równoległymi.Czas trwania:
Szkolenie jednodniowe, w godz. 09:00 - 16:00. Miejsce szkolenia:
Szkolenie odbędzie się w siedzibie firmy Gambit COiS Sp. z o.o. w Krakowie. Adresaci kursu:
Osoby, które pragną usprawnić wykonywane obliczenia w środowisku programu Mathematica poprzez wykorzystanie komputerów wieloprocesorowych lub sieci w celu realizacji obliczeń równoległych.Wymagania wstępne:
Umiejętność obsługi programu Mathematica na poziomie podstawowym.Program kursu:
- Wprowadzenie
- idea obliczeń równoległych
• skala przyspieszenia obliczeń i prawo Amdahla
• taksonomia Flynna-Johnson’a
- obliczenia równoległe w środowisku programu Mathematica
• MathLink
- trochę historii
- geneza procesorów wielordzeniowych
- początki obliczeń równoległych w środowisku Mathematica
- oprogramowanie nowej generacji
- miejsce programu Mathematica w "równoległej rewolucji" - Struktura środowiska programu Mathematica
- elementy składowe środowiska programu
- proces sterujący i procesy obliczeniowe
• łączność między procesami, klasyfikacja kerneli obliczeniowych
» Local Kernel
» Cluster Integration
» Remote Kernels
» Lightweight Grid Manager
- zmienne systemowe środowiska obliczeń równoległych
• zmienna systemowa $ProcessorCount
• zmienna systemowa $KernelCount
• zmienna systemowa $ConfiguredKernels - Konfigurowanie i monitorowanie pracy systemu
- podstawowe cechy obliczeń równoległych w środowisku Mathematica
- konfiguracja obliczeń równoległych
• sterowanie uruchamianiem kerneli obliczeniowych
• konfiguracja kernela w zależności od jego rodzaju
» lokalne jądro obliczeniowe
» jądra obliczeniowe w lokalnej sieci komputerowej
» jądra obliczeniowe w klastrach komputerowych
» odległe jądra obliczeniowe
- monitorowanie obliczeń równoległych - Wstęp do obliczeń równoległych
- przykład obliczeń sekwencyjnych i równoległych
• przykład obliczeń sekwencyjnych, szeregowych
• wersja równoległa tych samych obliczeń
- uruchamianie kerneli lokalnych
- podstawowe komendy obliczeń równoległych
• automatyczne zrównoleglanie, komenda ParallelEvaluate
• zarządzanie procesami równoległymi i obliczenia współbieżne
» co to są atrybuty funkcji i ich rola w obliczeniach równoległych?
• sterowanie obliczeniami współbieżnymi
» EvaluationObject
» ParallelSubmit
» WaitAll
» WaitNext
• komunikacja i synchronizacja
» SetSharedVariable
» SetSharedFunction
» UnsetShared
» CriticalSection - Inicjowanie obliczeń równoległych
- dystrybucja definicji obiektów
- zrównoleglanie automatyczne
• komenda Parallelize
• równoległa realizacja obliczeń za pomocą ParallelCombine
• mapowanie funkcji i generowanie tablic
• komenda ParallelTable
» co robi funkcja Table?
» jak to robi funkcja ParallelTable?
• komenda ParallelMap
» co robi funkcja Map?
» co robi funkcja ParallelMap?
- sekwencyjne sterowanie obliczeniami równoległymi - Zarządzanie procesami równoległymi
- komenda WaitAll
- komenda WaitNext - Dystrybucja definicji
- Mechanizm wirtualnej pamięci współdzielonej
- Czy wszystko można zrównoleglić?
- co można liczyć równolegle?
- czego nie można liczyć równolegle?
- a może jednak równolegle? - Obliczenia równoległe w przykładach
- pierwiastki równania, mapowanie funkcji FindRoot
• wariant sekwencyjny
• wariant równoległy
- wyznaczanie wartości π metodą Monte Carlo
• sekwencyjne obliczenia przybliżenia wartości liczby π
• wariant równoległy obliczeń przybliżenia liczby π
- średnica zbioru punktów, opcja sekwencyjna i równoległa - Licencyjne uwarunkowania obliczeń równoległych
- Mathematica single-machine
- grid Mathematica Local
- grid Mathematica Server
- Network Mathematica
- zestawienie dostępnej liczby procesów dla licencji