UWAGA! Używamy plików cookies, by ułatwić korzystanie z naszego serwisu. Jeśli nie chcesz, by pliki cookies były zapisywane na Twoim dysku zmień ustawienia swojej przeglądarki. Co to są pliki cookies?

Mathematica
Obliczenia równoległe

Czy wszystko można liczyć równolegle?

Odpowiedź na postawione w tytule pytanie brzmi:
Oczywiście, że nie wszystko można liczyć równolegle!
Algorytmy obliczeń symbolicznych, wszelkiego rodzaju algorytmy iteracyjne są zagadnieniami, które muszą być liczone sekwencyjnie.
Istota tych algorytmów tkwi ich sekwencyjności.

A oto kilka przykładów.
Najpierw do systemu zostaje pytanie, ile jest dostępnych jąder obliczeniowych:



Skoro system obliczeń równoległych dysponuje 12 jądrami obliczeniowymi, to za pomocą funkcji Parallelize[...] zostanie skierowana do obliczeń równoległych symboliczne wyznaczenie całki z prostej funkcji wymiernej.



System oblicza wynik, ale informuje, że obliczenia zostały wykonane na jednym jędrze obliczeniowym. Ten typ obliczeń nie może być zrównoleglony. Wyświetlony na czerwono komunikat o błędzie może być wyłączony, aby mimo że obliczenia zostały wykonane sekwencyjnie nie zakłócać toku obliczeń, jeśli tego typu obliczenia znajdą się w dłuższej sekwencji.

Podobnie wygląda sytuacja z prezentowanym już wcześniej iteracyjnym algorytmem rozwiązywania równań nieliniowych, zastosowanym w formie funkcji FindRoot[...].



Podobnie jak poprzednio, obliczenia zostały wykonane ale pojawił się komunikat o tym, że obliczenia zostały wykonane sekwencyjnie.

Algorytmy rozwiązywania równań różniczkowych, to także algorytmy iteracyjne.



Obliczenia zostały wykonane czego dowodem jest wykres rozwiązania równania, pokazany poniżej.



  • A może jednak równolegle?

    Równania równiczokowe rozwiązywane są sekwencyjnie, gdyż sekwencyjność obliczeń tkwi w algorytmie numerycznym. A co w przypadku gdy równanie trzeba rozwiązać wielokrotnie?
  • Jakie zagadnienia można liczyć równolegle?

    Nie wszystkie algorytmy numeryczne nadają się do zrównoleglenia, ale istnieje klasa zagadnień, które bardzo dobrze nadaja się do tego celu.