Podręcznik użytkownika

INULA

Informacje ogólne

Standardową metoda wykorzystywaną do zarządzania środowiskiem użytkownika na klastrach (Inula, Reef) są moduły. Podejście oprate na modułach powoduje, że użytkownik nie musi określać ścieżek dla różnych wersji aplikacji oraz dbać o ustawienie zależnych zmiennych środowkiskowych. Wystarczy, że użytkownik 'załaduje' moduł powiązany z daną aplikacją, aby wszystkie wymagane zmienne śrdowiskowe (PATH, LD_LIBRARY_PATH, INCLUDE i in.) zostały ustawione w środowisku użytkownika. Jeżeli użytkownik chce skorzystać z innej wersji aplikacji wystarczy, że 'odładuje' moduł powiązany ze starą aplikacja i 'załaduje' moduł powiązany z nową wersją.

Podstawy korzystania

Wyświetlenie listy załadowanych modułów

W celu wyświetlenia listy załadowanych modułów należy użyć poniższego polecenia.

module list

Przykładowy wynik tego polecenia został pokazany poniżej.

[username@hostname ~]$ module list
Currently Loaded Modulefiles:
  1) open64-4.2.5.2

Wyświetlenie listy dostępnych modułów

W celu wyświetlenia listy wszystkich dostępnych dla danego użytkownika modułów należy użyć poniższego polecenia.

module avail

Przykładowy wynik tego polecenia został pokazany poniżej.

[username@hostname ~]$ module avail

----------- /usr/share/Modules/PSNC/Development/Languages -----------
open64-4.2.5.2

----------- /usr/share/Modules/PSNC/Development/Libraries -----------
openmpi-gcc-x86_64    openmpi-opencc-x86_64

Wyświetlenie dodatkowych informacji na temat modułu

Aby wyświetlić dodatkowe informacje na temat danego modułu należy użyć następującego polecenia.

module help <nazwa_modulu>

Poniżej przykład wywołania polecenia dla modułu 'open64-4.2.5.2'.

[username@hostname ~]$ module help open64-4.2.5.2

----------- Module Specific Help for 'open64-4.2.5.2' ---------------------------

	Name:			AMD x86 Open64 Compiler Suite
	Version:		4.2.5.2
	Platform:		x86_64
	Category:		Development/Languages
	URL				http://developer.amd.com
	Provides:		opencc, openCC, openf90, openf95

	Description:

	The x86 Open64 compiler system is a high performance, production
	quality code generation tool designed for high performance parallel
	computing workloads. The x86 Open64 environment provides the developer
	the essential choices when building and optimizing C, C++, and Fortran
	applications targeting 32-bit and 64-bit Linux platforms.

	The x86 Open64 compiler system offers a high level of advanced
	optimizations, multi-threading, and processor support that includes
	global optimization, vectorization, interprocedural analysis, feedback
	directed optimizations, loop transformations, and code generation
	which extracts the optimal performance from each x86 processor core.

	man pages:		no
	Restrictions:	none

-------------------------------------------------------------------------------

Załadowanie modułu

Załadowanie nowego modułu odbywa się pomocą poniższego polecenia.

module load <nazwa_modulu>

Wyładowanie modułu

Wyładowanie modułu odbywa się pomocą poniższego polecenia.

module unload <nazwa_modulu>

Sprawdzenie jakie zmienne środowiskowe są modyfikowane przez dany moduł

W celu uzyskania informacji o tym, które zmienne środowiskowe są modyfikowane przez dany moduł można posłużyć się następującym poleceniem.

module show <nazwa_modulu>

Przykładowy wynik polecenia przedstawiony został poniżej.

[username@hostname ~]$ module show open64-4.2.5.2
-------------------------------------------------------------------
/usr/share/Modules/PSNC/Development/Languages/open64-4.2.5.2:

module-whatis	AMD x86 Open64 Compiler Suite, 4.2.5.2 
setenv			open64_root /opt/x86_open64-4.2.5.2 
prepend-path	PATH /opt/x86_open64-4.2.5.2/bin 
prepend-path	LD_LIBRARY_PATH /opt/x86_open64-4.2.5.2/lib 
prepend-path	INCLUDE /opt/x86_open64-4.2.5.2/include 
-------------------------------------------------------------------

Personalizacja ustawień

W środowisku, w którym wykorzystywane są moduły użytkownik ma możliwość zadecydowania, które moduły będą załadowane po zalogowaniu się do systemu. W tym celu należy wyedytować plik ~/.bashrc lub ~/.bash_profile i dopisać odpowiednie linie. Poniżej zamieszczony został przykład, w którym do zmiennej MODULEPATH dodana została ścieżka do katalogu, w którym znajdują się moduły użytkownika oraz ładowany jest moduł kompilatora open64 w wersji 4.2.5.2.

[username@hostname ~]$ cat ~/.bash_profile 
...
# Environment Modules

# Prepend directory to the MODULEPATH environment variable.
module use --append $HOME/.modules/my_modules

# Modules loaded at login time.
module load open64-4.2.5.2
...

Dodatkowe informacje

Dodatkowe informacje na temat używania modułów można znaleźć w podręczniku systemowym wydając jedno z poniższych poleceń.

# Informaje na temat używania modułów
man module

# Informacje na temat pisania własnych modułów
man modulefile