Компиляторы

На кластере Ant установлены компиляторы:

icc,ifortmpicc,mpicxx,mpif77,mpif90pgcc,pgCC,pgf77,pgf90,pgf95
НазваниеКоманды для вызоваКоманды для MPI-программ
Intel C Compiler/Intel Fortran Compiler version 9.1 (C,C++,Fortran77/90/95)
PathScale EKOPath(TM) Compiler Suite: Version 2.5 (C,C++,Fortran77/90/95)
Portland Group Compiler version 6.2-5 (C,C++,Fortran77/90/95)
Absoft 64-bit Fortran 9.0 EP (Fortran77/90/95)
Вызов соответсвующего компилятора. Для компиляции MPI-программ рекомендуется пользоваться командами mpicc/mpiCC (для программ на С и С++), и mpif77/mpif90 (для программ на Фортране 77/90). Эти команды автоматически подключают заголовочные файлы и библиотеки MPI. Для программ на языке С++ нужно использовать расширение имени файла .C или .cpp, для программ на языке Фортран 90 - .f90.

Рекомендуется использовать опции компиляторов для оптимизации программ. Для компиляторов Intel и GNU, установленных на нашем кластере, приемлемый уровень оптимизации дает опция -O3, для справки о других опциях оптимизации рекомендуем обращаться к руководствам по компиляторам.

Если необходимо только скомпилировать один модуль, и не выполнять сборку исполняемого файла, используется опция "-с", например:

      mpiCC -c -program2.C

При этом будет создан объектный модуль "program2.o". Объектный модуль не является исполняемым, он используется как один из блоков при компоновке исполняемого файла.

Если необходимо создать исполняемый файл, то имеет смысл воспользоваться опцией -o имя, чтобы задать его имя (по умолчанию его имя будет a.out). Например:

      mpif90 -O3 program.f -o program.e

При этом будет создан исполняемый файл program.e, который можно запускать на исполнение командой mpirun (но только на том кластере, где он был собран).

Для сборки многомодульных приложений целесообразно пользоваться утилитой GNU make.

Простейшие примеры MPI-программ на языках С и Фортране 77/90 доступны в /home/examples/mpi.


Запуск приложений

При обычной работе в многопользовательском удаленном режиме пользователи ставят свои задачи в очередь. В простейшем случае запрос на выполнение программы осуществляется командой mpirun:

      mpirun -np N program <параметры программы>

Если указанное число процессоров в данный момент недоступно, задача будет поставлена в очередь. Если программа является однопроцессорной, написана без использования MPI, то при ее запуске нужно добавить ключ -as single. Например:

      mpirun -np 1 -as single program.e

Читайте более подробную информацию о системе управления заданиями и других ее опциях.


Оболочка и текстовые редакторы

В качестве пользовательского командного интерпретатора используется bash, справку по которому можно получить командой "man bash". Для редактирования файлов на системе доступны текстовые редакторы joe и vi. Также доступна NC-подобная оболочка "Midnight Commander" (mc).

При работе с оболочкой bash пользователь всегда имеет приглашение для ввода команд, которое заканчивается знаком "$" и из которого можно понять, под каким именем пользователя, на какой машине исполняются вводимые команды и какой каталог является текущим. Например, приглашение вида

      [alex@aqua:math]$ 

означает, что мы работаем на кластере AQUA под именем пользователя alex, и текущим является каталог с названием math.


Базовые команды ОС Unix

Для пользователей, не знакомых с операционной системой Unix, приводим базовые команды, необходимые для работы:

  • pwd - получить полный путь текущего каталога;
  • cd - сменить текущий каталог;
  • ls - распечатать содержимое каталога;
  • cp - копировать файл;
  • mv - переместить (переименовать) файл;
  • rm - удалить файл;
  • cat - выдать содержимое файла на консоль;
  • gzip - сжать файл;
  • exit - выйти из оболочки (или отключиться от машины).

Справку по любой команде можно получить командой man имя_команды.


В случае проблем

О всех проблемах, связанных с работой на кластере, немедленно сообщайте администраторам

  • по электронной почте support@parallel.ru;
  • или по телефону 939-2347.

При обращениях по электронной почте следует указать свое имя пользователя (login), но не следует пересылать свой пароль. Проблему, с которой Вы обращаетесь, желательно описать как можно более подробно. В частности, если проблема связана с компиляцией или запуском программы, то нужно указать, в какой директории находится программа, каким образом (какими именно командами) Вы ее компилируете и запускаете, какие сообщения получаете.