Uwaga: Dokument nie jest kompletny, bedzie rozwijany w miarę jak moje zrozumienie tematu bedzie się poprawiać. Nie mogę zagwarantować, że przedstawione w nim informacje są poprawne a opisane postępowanie właściwe - dołożyłem jednak wszelkich starań i poniższe rozwiązania osobiście przetestowałem. Dostrzeżone błędy, możliwe problemy, nieścisłości i usterki proszę zgłaszać: lukasz.zosiak na uj.edu.pl
Instalacja i wstępna konfiguracja
W zależności od konfiguracji programowo/sprzętowej będą zapewne wystepować znaczące różnice w konkretnych rozwiazaniach, ważne jest natomiast, aby spełnione zostały podstawowe warunki:
- łączność z serwerem licencji (flex.uoks.uj.edu.pl) dla każdego węzła obliczeniowego
- uruchomiony system kolejkowy (niekonieczne, ale w oczywisty sposób przydatne)
- polecenie math znajdowało się w ścieżce (tak, aby działało: ssh wezel math)
Sesja interaktywna
Przykład dla Torque'a, kolejka 'infinite' została skonfigurowana bez ograniczeń czasowych:
qsub -I -l nodes=2:ppn=2 -q infinite
Uruchamiamy proces 'zarzadzajacy':
math lub Mathematica gdy mamy dostęp do grafiki
Następnie uruchamiamy odpowiednią liczbę kerneli do obliczeń:
RemoteMachine/@ReadList[Environment["PBS_NODEFILE"],String]//LaunchKernels)
Więcej informacji na temat możliwości uwspółbieżniania kodu w Mathematice 7.0
Zadanie wsadowe
Należy pamiętać od trzech kwestiach:
- nie uruchamiamy FronteEndu, lecz math < plik_wejsciowy.m > wynik_obliczen
- warto dodać AppendTo[$Echo, "stdout"] na początku i trzeba Quit[]; na końcu
- niektóre funkcje zostały przeniesione do FrontEndu (np. eksport do formatów graficznych)