Poniższy przykład opisuje niezbędne kroki do uruchomienia obliczeń kwantowo-chemicznych za pomocą programu Gaussian. Obliczenia będą wykonywane na maszynach udostępnionych w ramach infrastruktury PL-Grid.
Uruchamianie zadań możliwe jest w ramach różnych interfejsów graficznych do obsługi zadań. W poniższym przykładzie do uruchomienia zadania wykorzystano usługę QCG. Poniżej opisane zostały najważniejsze kroki wymagane do rozpoczęcia obliczeń:
Aktywowanie usługi
W celu wykonania poniższych ćwiczeń konieczne jest uzyskanie dostępu do usługi QCG (procedura aplikowania o dostęp do QCG jest opisana tutaj).
Zasadniczym celem poniższego samouczka jest prezentacja różnych metod pozwalających na uruchomienie zadania obliczeniowego w programie Gaussian za pośrednictwem klienta konsolowego Simple usługi QCG. Przykład 1 prezentuje w jaki sposób zlecić zadanie z wykorzystaniem wbudowanego w język QCG Simple interfejsu do aplikacji Gaussianmechanizmu obsługi aplikacji Gaussian w systemie QCG. Przykład 2 pokazuje jak uruchamiać to samo zadanie za pośrednictwem mechanizmu modułów.ręcznego ładowania modułów. Główna różnica pomiędzy obiema metodami polega na dodatkowych akcjach jakie są wykonywane przez mechanizm obsługi aplikacji Gaussian w systemie QCG (Przykład 1). Wykonują one:
We wszystkich przykładach będziemy korzystać z przykładowego pliku wsadowego do programu Gaussian sample.com (celem obliczeń zdefiniowanych w tym pliku jest optymalizacja struktury i analiza częstotliwości drgań dla cząsteczki etanolu na poziomie B3LYP/3-21g).
Do uruchamiania zadań wykorzystamy mechanizm klienta konsolowego QCG Simple. W celu skorzystania z klienta należy zalogować się na maszynę dostępową z zainstalowanym oprogramowaniem klienckim. Aktualnie istnieje kilka interfejsów użytkownika (User Interface, UI) do infrastruktury. Dane dostępowe tych maszyn można znaleźć tutaj. Z jedną z maszyn dostępowych należy połączyć się wykorzystując protokół ssh. W celu użytkownik o loginie plguser ponien w terminalu wydać polecenie:
...
Hasło na wszystkich UI jest takie jak w portalu PLGrid.
Jeśli nie zrobiliśmy tego wcześniej możemy zaimportować nasz certyfikat z systemu keyFS na UI. W tym celu należy wydać komendę:
Code Block | ||
---|---|---|
| ||
WCSS [plguser@ui ~]$ creds keyfs |
Następnie należy utworzyć w bieżącym katalogu plik sample.com będący plikiem wsadowym do programu Gaussian. Oprócz tego potrzebny jest plik specyfikujący uruchomieni zadania za pomocą klienta QCG. Przykładowy plik służący do uruchomienia zadania (sample.qcg) wygląda tak:
...
Zadanie zostanie zlecone przez klienta QCG. Ponieważ nie wskazano konkretnego klastra obliczeniowego, na którym zadanie ma się wykonać, broker QCG sam wybierze klaster z dostępnymi zasobami i tam uruchomi zadanie. Do sprawdzenia statusu zadania możemy wykorzystać polecenie qcg-list. Po zakończeniu obliczeń w naszym katalogu domowym na UI pojawi się archiwum z zawartością katalogu roboczego z węzła obliczeniowego po zakończeniu obliczeń.
W poprzednim przykładzie nie wskazano klastra na którym chcemy wykonać obliczenia i nie podano wersji oprogramowania Gaussian, z której chcemy skorzystać. W rezultacie broker QCG wybrał klaster z dostępnymi zasobami i tam wysłał zadanie. Zostało ono uruchomione z pomocą wersji programu Gaussian09 ustawionej na tym klastrze jako domyślna. Jeżeli istnieje potrzeba kontrolowania wersji oprogramowania i klastra, na którym zadanie ma się wykonać możemy skorzystać z mechanizmu modułów. (Ten przykład może okazać się przydatny również gdy chcemy uruchomić obliczenia w aplikacji nie wspieranej przez klienta QCG.)
...
Code Block |
---|
#QCG queue=plgrid-testing #QCG name=et_modul #QCG note=etanol Gaussian #QCG output=${JOB_ID}.output #QCG error=${JOB_ID}.error #QCG stage-in-file=sample.com -> sample.com #QCG stage-out-file=wynik.tar -> ${JOB_ID}.tar #QCG nodes=1:1:1 #QCG host=novabem #QCG persistent #QCG walltime=PT1H #QCG memory=1900 #QCG postprocess=tar cvf wynik.tar * module load gaussian/g09.B.01 cat sample.com | g09 >& sample.log |
...
Należy również zwrócić uwagę na linię ze słowem kluczowym QCG host. Pozwala ona na kontrolowanie, na którym klastrze zadanie się wykona. W tym wypadku obliczenia zostaną uruchomione na klastrze supernovabem.wcss.wroc.pl (alias novabem).
...
Narzędzia i usługi QCG oferują dodatkową funkcjonalność jak na przykład monitorowanie stanu zadania (usługa QCG-Monitoring).
Pełny zestaw narzędzi i ich zakres funkcjonalności opisany jest na stronie (Uruchamianie zadań przez QosCosGrid).
Możliwe jest także uruchamianie zadań przez inne systemy dostępowe, ..Pełna informacja dotycząca narzędzia QCG-SimpleClient dostępna jest w osobnym rodziale - QCG-SimpleClient.