Назад в библиотеку

Гид по системе Cray

Источник: https://fs.hlrs.de

Перевод с нем.: Новикова А. А.

Термины

      Сайт (англ. “site” – узел, подсеть) является способом физической группировки подсетей.

      Multi-site cluster – географически распределенный кластер

Введение

      В этом руководстве описывается программная среда и инструменты, используемые для разработки, отладки и запуска приложений на системах: Cray XT, Cray XE и Cray XK. Оно задумано как общий обзор и введение в систему Cray для новых пользователей и прикладных программистов.

      Это руководство предназначено для использования совместно с Workload Management and Application Placement for the Cray Linux Environment (S–2496), которое описывает Application Level Placement Scheduler (ALPS) и команду aprun более подробно.

      Информация, содержащаяся в данном руководстве, представлена обобщенно, т.к.  платформа Cray поддерживает широкий спектр аппаратных узлов, а также много различных компиляторов, отладчиков и других инструментов программного обеспечения. Системы аппаратного и программного обеспечения каждого сайта значительно различаются, т.о. для получения конкретной информации о сайте и его аппаратных средствах, программном обеспечении и политике использования, необходимо обратиться к администратору сайта.

1.      Что нужно знать о сайте?

Cray XT, Cray XE, и Cray XK системы бывают:

      с массовым параллелизмом (MPP)

      с распределённой памятью

      с неравномерным доступом к памяти (NUMA)

      серийные суперкомпьютеры на базе процессоров

Примечание: Эти системы предназначены для масштабирования до огромных размеров и запуска приложений, требующих высокой производительности, масштабной обработки, высокой пропускной способности сети, а также сложных межпроцессорных коммуникаций. Все системы используют 64-битные процессоры AMD Opteron в качестве основных вычислительных систем (ВС), точное количество ядер AMD Opteron зависит от конкретной спецификации.

1.1  Cray XT, Cray XE, или Cray XK?

С точки зрения программиста, наиболее существенными различиями между системами являются:

      Системы Cray XT используют SeaStar или SeaStar2 + специализированные интегральные схемы (ASIC) для управления межпроцессорными коммуникациями;

      Системы Cray XE используют микросхемы Gemini ASIC для управления межпроцессорными коммуникациями;

      Системы Cray XK также используют микросхемы Gemini ASIC для межпроцессорных коммуникаций, но объединяют AMD Interlagos CPU и NVIDIA Tesla GPU на вычислительных узлах.

Из-за различий в сети специализированных интегральных схем и сопутствующих сетях API, Cray XT и Cray XE системы используют различные версии MPI и SHMEM библиотек, которые предлагают различные наборы дополнительных элементов управления для разработчика приложений. Системы Cray XK используют те же MPI и SHMEM библиотеки, что и системы Cray XE.

Различия между версиями MPI и SHMEM обсуждаются более подробно в главе Message Passing Toolkit.

Cray XE и Cray XK системы поддерживают Generic Network Interface (GNI) и Distributed Shared Memory Application (DMAPP) API, которые предлагают программисту API-уровня доступ к расширенным функциям Gemini network interconnect. Gemini GNI и DMAPP API подробно обсуждаются в Using the GNI and DMAPP APIs (S–2446).

1.2  Сколько же ядер в системе?

Их количество зависит от конкретной модели:

      Системы Cray XT4 используют один двух- или четырехъядерный процессор ("Barcelona") AMD Opteron на вычислительном узле.

      Cray XT5 и Cray XE5 системы используют два четырехъядерных («Shanghai») или шестиядерных ("Istanbul") процессора AMD Opteron на вычислительном узле.

      Cray XT6 и Cray XE6 системы используют два восьми- или двенадцатиядерных ("Magny-Cours") или два шестнадцатиядерных ("Interlagos") процессора AMD Opteron на вычислительном узле.

      Системы Cray XK используют один шестнадцатиядерный ("Interlagos") AMD Opteron процессор и один GPU NVIDIA Tesla на вычислительном узле.

Аппаратные особенности могут повлечь за собой различные варианты компиляции и выполнения программ. Эти различия обсуждаются более подробно в Workload Management and Application Placement for the Cray Linux Environment (S–2496).

1.3  Какая операционная система?

Если Вы не уверены, какую версию Ваш сайт использует, проверьте MOTD (message of the day), когда авторизуетесь в системе. Если информации нет, то есть два способа для определения версии CLE:

      В системах CLE 2.x проверьте, какая версия модуля XT-OS загружается по умолчанию. Если нет ни одного из модулей XT-OS, Ваша система – CLE 3.0 или более поздней версии.

      На CLE 3.0 и более поздних системах посмотрите содержимое файла /etc/opt/cray/release/clerelease. Если этот файл или каталог не существует, Ваша система работает под версией 2.x.

Примечание: CLE 2.x основана на SLES 10. CLE 3.x и CLE 4.x основаны на SLES 11.

1.4  Что такое вычислительный узел?

С точки зрения разработчика приложений, система Cray является тесно интегрированной сетью, объединяющей тысячи узлов, специализирующихся под различные задачи. В то время как некоторые из них предназначены для административных или сетевых функций и поэтому закрыты для прикладных программистов, два из которых встречаются наиболее часто :

      авторизованные узлы;

      вычислительные узлы.

Авторизованные узлы – узлы, к которым получают доступ при первом входе в систему. Авторизованные узлы предлагают полную операционную систему Cray Linux Environment (CLE).  Используются для основных задач разработки, таких как редактирование файлов и компиляция кода, как правило, имеют доступ к сети файловой системы, и являются общими ресурсами, которые могут использоваться одновременно несколькими пользователями. Авторизованные узлы также иногда называют сервисными узлами.

Вычислительные узлы – узлы, на которых выполняется запуск приложений. Вычислительные узлы запускают «легкую» операционную систему под названием Compute Node Linux (CNL), к которым можно получить доступ только через систему управления пакетами (как правило, PBS Pro, Moab/TORQUE или Platform LSF), а также к высокопроизводительной параллельной файловой системе (как правило, Lustre или Panasas), ресурсы выделяются исключительно на время сеанса.

Когда новые пользователи начинают работать с системой Cray, часто возникает путаница между авторизованным и вычислительным узлом.

Помните! При первом входе в систему пользователь оказывается на авторизованном узле. Нельзя выполнить параллельную программу на авторизованном узле, получить прямой доступ к файлам, хранящимся в высокопроизводительной параллельной файловой системе. Для этого необходимо использовать пакетную систему сайта, чтобы запустить параллельную программу на вычислительных узлах, либо от авторизованного узла или от точки входа на параллельной файловой системы.

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

1.5  Какая файловая система?

Все системы Cray требуют использование параллельной файловой системы высокой производительности. Большинство сайтов в настоящее время используют файловую систему Lustre, хотя другие, такие как PanFS Panasas, также поддерживаются.

Все примеры, приведенные в данном руководстве, были разработаны в файловой системе Lustre с помощью команд Lustre. Перед копированием любых примеров из этого руководства нужно проверить, какую файловую систему использует сайт и какая политика сайта применяется для домашних каталогов, рабочего пространства, дисковых разделов, политики резервного копирования, и так далее. В таком случае требуется откорректировать команды соответствующим образом.

1.6  Какая пакетная система?

Системы Cray обычно работают под контролем пакетной системы, такой как PBS Pro, OpenPBS, менеджера ресурсов Moab/TORQUE, или Platform LSF.

Все примеры, приведенные в данном руководстве были разработаны с использованием либо PBS Pro или Moab/TORQUE. Перед копированием любых примеры из этого руководства дословно, проверить, какую пакетную систему использует сайт и, если требуется, настроить соответствующим образом.

2.     Вход в систему

Настройка учетной записи пользователя и политики аутентификации зависит от настроек конкретного сайта. Необходимо связаться с администратором сайта, чтобы получить учетную запись в системе. Администратор расскажет о специфичности политики безопасности сайта или политики аутентификации (например, правильное использование маркера RSA SecurID, если это предусмотрено).

После того, как учетная запись пользователя создана, можно войти в систему Cray с использованием SSH (Secure Shell) протокола версии 2. SSH является программой удаленной авторизации, которая шифрует все коммуникации между клиентом и хостом, и заменяет Telnet, Rlogin и RSH программы.

2.1  UNIX или Linux пользователи

Если используется UNIX или Linux система, утилита ssh доступна в командной строке и задокументирована в ssh(1).

Ø  Чтобы войти в систему Cray:

            % ssh -X hostname

Опция -X включает перенаправление вывода X11.

Ø  На некоторых системах необходимо ввести user ID. Это можно сделать т.о.:

            % ssh -X -luserID hostname

                        или

            % ssh -X userID@hostname

После этой команды, возможно, придется ввести RSA или пароль. Когда вход в систему осуществлен, могут отображаться статус системы и MOTD (message of the day) сообщения, после которых пользователь попадает в домашний каталог на авторизованном узле: /users/userID>

2.2  Пользователи Windows

Если используется Windows система, необходимо установить клиентскую программу, которая поддерживает SSH протокол 2 (например, PuTTY). Системный администратор должен предоставить список принятых клиентов.

Возможно, придется дополнительно настраивать клиент на поддержу SSH и перенаправление вывода X11.

Например, если используется PuTTY, возможно, потребуется нажать SSH на левой панели, чтобы увидеть нужную версию протокола SSH. Далее необходимо проверить версию протокола. Как видим, установлена версия 2.

Описание: Selecting SSH Protocol

Затем, нажимаем X11, чтобы просмотреть опции. Необходимо выбрать Enable X11 forwarding.

Описание: Enabling X11 Forwarding

Затем, на левой панели нажимаем Session, чтобы вернуться к базовым опциям. Вводим hostname и нажимаем Open.

Примечание: Может понадобиться ввести userID и один или более RSA или паролей. Когда вход в систему осуществлен, могут отображаться статус системы и MOTD (message of the day) сообщения, после которых пользователь попадает в домашний каталог на авторизованном узле: /users/userID>

Описание: Logging In

2.3  Пользователи Apple Macintosh

Apple Macintosh OS X основывается на UNIX. Поэтому, чтобы войти в систему Cray, необходимо открыть терминал и ввести команду ssh.

Ø  Чтобы войти в систему Cray:

            % ssh -X hostname

Опция -X включает перенаправление вывода X11.

Ø  На некоторых системах необходимо ввести user ID. Это можно сделать т.о.:

            % ssh -X -luserID hostname

                        или

            % ssh -X userID@hostname

После этой команды, возможно, придется ввести RSA или пароль. Когда вход в систему осуществлен, могут отображаться статус системы и MOTD (message of the day) сообщения, после которых пользователь попадает в домашний каталог на авторизованном узле: /users/userID>

3.     Навигация по файловой системе

При первом входе в систему Cray, пользователь находится в домашнем каталоге на авторизованном узле.

Ø      /users/userID>

            В этот момент у пользователя есть доступ ко всем функциям полной операционной системы Cray Linux Environment (CLE), таким как SFTP и SCP команды, а также, как правило, к полной сетевой файловой системе. Для большинства систем пользовательский домашний каталог на авторизованном узле определяется переменной окружения $HOME, и эта переменная может быть использована в любой команде файловой системы. Например, чтобы вернуться в свой домашний каталог из любого другого места файловой системы, введите следующую команду:

Ø      cd  $HOME

Примечание: можно изменять/перемещать файлы, компилировать код, запускать одно-/многопроцессорные программы, под контролем пакетной системы, и пока используется файловая система.

Чтобы войти в файловую систему, нужно идентифицировать nids (node IDs) точек входа файловой системы. Если использовать Lustre :

Ø  users/userID> df -t lustre

Filesystem                 1K-blocks     Used               Available      Use%   Mounted on

8@ptl:/narwhalnid8  8998913280  6946443260  1595348672   82%    /lus/nid00008

Чтобы получить более детальную информацию:

Ø      users/userID> lfs df

UUID                    1K-blocks          Used        Available     Use%              Mounted on

nid00008_mds_UUID   179181084   2675664        166265604    1%        /lus/nid00008[MDT:0]

ost0_UUID            1124864160 895207088 172517160     79%                /lus/nid00008[OST:0]

ost1_UUID            1124864160 838067380 229656540      74%    /lus/nid00008[OST:1]

ost2_UUID            1124864160 826599428 241124820     73%     /lus/nid00008[OST:2]

ost3_UUID            1124864160 827914052 239801932     73%     /lus/nid00008[OST:3]

ost4_UUID            1124864160 964324672 103398548     85%     /lus/nid00008[OST:4]

ost5_UUID            1124864160 932986208 134738024     82%     /lus/nid00008[OST:5]

ost6_UUID            1124864160 832715148 235009164     74%     /lus/nid00008[OST:6]

ost7_UUID            1124864160 828631656 239092572     73%     /lus/nid00008[OST:7]

filesystem summary:  8998913280 6946445632 1595338760   77% /lus/nid00008

Примечание: эти команды только для файловой системы Lustre.

Для файловой системы Lustre точка входа  /lus/nid00008:

Ø      users/userID> cd /lus/nid00008

Directory: /lus/nid00008

/lus/nid00008>

Теперь пользователь находится в файловой системе. Возможно изменение/перемещение файлов, компилирование кода и т.д. Используя пакетную систему, можно запускать программы на вычислительных узлах.

Использование модулей

      Система Cray использует пакет модулей управления средой для поддержки динамической модификации пользовательской среды с помощью модульных файлов. Каждый модульный файл содержит всю информацию, необходимую для индивидуальной настройки оболочки. Чтобы внести серьезные изменения в свою пользовательскую среду, такие как: переход на другой компилятор или другую версию библиотеки, используйте соответствующие модульные команды для выбора нужных модульных файлов.

      Преимущество использования модулей: не нужно указывать явные пути для разных версий исполняемого файла или установить $MANPATH и другие переменные окружения вручную. Вместо этого, все сведения, необходимые для того, чтобы использовать данную часть программного обеспечения, встроены в модульный файл и определяются автоматически при загрузке модульных файлов.

      Самый простой способ убедиться, что элементы Вашего приложения среды разработки правильно функционируют вместе, можно с помощью программных модулей, применяя полное отслеживание путей и переменных окружения, не используя конкретные пути каталогов в загрузочных файлах , make-файлах и сценариях.

1.      Что сейчас загружено?

Когда Вы впервые входите в систему Cray, загружается набор модулей по умолчанию, специфичных для узла. Этот набор варьируется в зависимости от аппаратных средств системы, версии операционной системы, концепции узла, установленного программного обеспечения. Чтобы узнать, какие модули загружены в данный момент в системе, используйте команду module list.

Ø  users/yourname> module list

Currently Loaded Modulefiles:

  1) modules/3.2.6.6

  2) nodestat/2.2-1.0400.25564.5.2.gem

  3) sdb/1.0-1.0400.27358.12.17.gem

  4) MySQL/5.0.64-1.0000.2899.19.2

  5) lustre-cray_gem_s/1.8.4_2.6.32.36_0.5.2_1.0400.5941.3.1-1.0400.27356.3.114

  6) udreg/2.3.1-1.0400.3052.6.12.gem

  7) ugni/2.2-1.0400.3340.9.29.gem

  8) gni-headers/2.1-1.0400.3411.8.1.gem

  9) dmapp/3.1-1.0400.3387.13.25.gem

 10) xpmem/0.1-2.0400.27172.6.5.gem

 11) Base-opts/1.0.2-1.0400.25719.5.1.gem

 12) xtpe-network-gemini

 13) pgi/11.6.0

 14) totalview-support/1.1.2

 15) xt-totalview/8.9.1

 16) xt-libsci/10.5.02

 17) pmi/2.1.2-1.0000.8396.13.5.gem

 18) xt-asyncpe/5.00.59

 19) atp/1.2.0

 20) PrgEnv-pgi/4.0.12A

 21) pbs/10.4.0.101257

 22) xtpe-mc12

 23) xt-mpich2/5.3.0

Этот список подразделяется на три группы:

      модули операционной системы,

      модули программной среды,

      модули поддержки.

Например, модуль xtpe-mc12 указывает, что эта среда разработки создана для разработки кода для 12-ядерных Magny Cours-процессоров, а  PrgEnv-pgi модуль показывает, что набор компиляторов и инструментов PGI в данный момент загружен.

2.      Что доступно?

Чтобы узнать какие модульные файлы доступны в текущей системе необходимо использовать команду:

Ø      % module avail [string] [-subsetflag]

            Команда module avail создает список модульных файлов в алфавитном порядке по пути module use и не имеет опций, аналогичных команде grep в UNIX. Таким образом, обычно более полезно использовать команду с аргументом string. Например, если вы ищете конкретную версию PGI, вы должны ввести следующую команду:

Ø      users/yourname> module avail PrgEnv-pgi

------------------------------------ /opt/modulefiles --------------------------------------

PrgEnv-pgi/3.1.35          PrgEnv-pgi/3.1.37E         PrgEnv-pgi/3.1.61

PrgEnv-pgi/3.1.37AA    PrgEnv-pgi/3.1.37G         PrgEnv-pgi/4.0.12A(default)

PrgEnv-pgi/3.1.37C       PrgEnv-pgi/3.1.49A

Один модуль обычно обозначается как версия по умолчанию. Является ли она самой последней версией этого модуля, зависит от политики узла. Некоторые узлы всегда делают последнюю версию версией по умолчанию, в то время как другие ждут, пока не проверится новая версия на ошибки и зависимости.

            Всякий раз, когда новая версия модуля была установлена, старые версии продолжают оставаться доступными, если администратор сайта явным образом не выбрал их для удаления.

Опция [-subsetflag] позволяет перечислить подмножество доступных модулей. Следующие флаги могут быть использованы отдельно или в комбинации:

- U       Список пользовательских модулей

- D       Список текущих модулей по умолчанию

- T       Список модулей инструментов (отладчики, утилиты анализа производительности и т.п.)

- L       Список модулей библиотек

- P       Список модулей среды программирования (компилятора)

- X       Список модулей CPU и сетевого позиционирования

3.      Загрузка и выгрузка модульных файлов

Если модульный файл еще не загружен, используйте команду module load, чтобы загрузить его:

Ø  users/yourname> module load modulefile

Эта команда загружает определенную в настоящее время по умолчанию версию модуля, если не указано иное. Например, если модули, перечисленные в «Что доступно?», присутствуют в системе, но       PrgEnv-pgi еще не загружен, то:

Ø  users/yourname> module load PrgEnv-pgi

В таком случае загружается PrgEnv-pgi/4.0.12A(default) модуль. Чтобы загрузить другую версию модуля, необходимо указать полное имя нужного модуля.

Ø  users/yourname> module load PrgEnv-pgi/3.1.61

Однако, если модуль уже загружен, то необходимо сначала выгрузить загруженный модуль перед загрузкой другой версии. Например, чтобы изменить версию по умолчанию PGI на другую версию, используется модуль module unload, чтобы  удалить загруженную версию.

Ø  users/yourname> module unload PrgEnv-pgi

Модули могут быть скомпонованы и связаны между собой. Если ввести команду module list прямо сейчас и сравнить результаты с полученными в «Что доступно?»:

До:

Ø  users/yourname> module list

Currently Loaded Modulefiles:

  1) modules/3.2.6.6

  2) nodestat/2.2-1.0400.25564.5.2.gem

  3) sdb/1.0-1.0400.27358.12.17.gem

  4) MySQL/5.0.64-1.0000.2899.19.2

  5) lustre-cray_gem_s/1.8.4_2.6.32.36_0.5.2_1.0400.5941.3.1-1.0400.27356.3.114

  6) udreg/2.3.1-1.0400.3052.6.12.gem

  7) ugni/2.2-1.0400.3340.9.29.gem

  8) gni-headers/2.1-1.0400.3411.8.1.gem

  9) dmapp/3.1-1.0400.3387.13.25.gem

 10) xpmem/0.1-2.0400.27172.6.5.gem

 11) Base-opts/1.0.2-1.0400.25719.5.1.gem

 12) xtpe-network-gemini

 13) pgi/11.6.0

 14) totalview-support/1.1.2

 15) xt-totalview/8.9.1

 16) xt-libsci/10.5.02

 17) pmi/2.1.2-1.0000.8396.13.5.gem

 18) xt-asyncpe/5.00.59

 19) atp/1.2.0

 20) PrgEnv-pgi/4.0.12A

 21) pbs/10.4.0.101257

 22) xtpe-mc12

 23) xt-mpich2/5.3.0

После:

Ø  users/yourname> module list

Currently Loaded Modulefiles:

  1) modules/3.2.6.6

  2) nodestat/2.2-1.0400.25564.5.2.gem

  3) sdb/1.0-1.0400.27358.12.17.gem

  4) MySQL/5.0.64-1.0000.2899.19.2

  5) lustre-cray_gem_s/1.8.4_2.6.32.36_0.5.2_1.0400.5941.3.1-1.0400.27356.3.114

  6) udreg/2.3.1-1.0400.3052.6.12.gem

  7) ugni/2.2-1.0400.3340.9.29.gem

  8) gni-headers/2.1-1.0400.3411.8.1.gem

  9) dmapp/3.1-1.0400.3387.13.25.gem

 10) xpmem/0.1-2.0400.27172.6.5.gem

 11) Base-opts/1.0.2-1.0400.25719.5.1.gem

 12) xtpe-network-gemini

 13) pbs/10.4.0.101257

 14) xtpe-mc12

 15) xt-mpich2/5.3.0

Можно увидеть, что наряду с PrgEnv-pgi, pgi, totalview-support, xt-totalview, xt-libsci, pmi, xt-asyncpe, и atp модули были выгружены. Если теперь загрузить другую версию PrgEnv-pgi модуля:

Ø  users/yourname> module load PrgEnv-pgi/3.1.61

Выполним команду module list еще раз. Теперь можно увидеть, что проассоциированный модуль был автоматически перезагружен, но на этот раз, используя версию 3.1.61 компилятора PGI.

4.      «Swapping» модульных файлов

В качестве альтернативы можно использовать команды module swap или module switch, чтобы выгрузить один модуль и загрузить другой вместо него. Например, чтобы обменять PGI на Cray Compiling Environment используется команда:

Ø  users/yourname> module swap PrgEnv-pgi PrgEnv-cray

Если вывести список загружаемых модулей после замены и сравнить с результатами, показанными в «Как узнать какие модули загружены?»:

До:

Ø  users/yourname> module list

Currently Loaded Modulefiles:

  1) modules/3.2.6.6

  2) nodestat/2.2-1.0400.25564.5.2.gem

  3) sdb/1.0-1.0400.27358.12.17.gem

  4) MySQL/5.0.64-1.0000.2899.19.2

  5) lustre-cray_gem_s/1.8.4_2.6.32.36_0.5.2_1.0400.5941.3.1-1.0400.27356.3.114

  6) udreg/2.3.1-1.0400.3052.6.12.gem

  7) ugni/2.2-1.0400.3340.9.29.gem

  8) gni-headers/2.1-1.0400.3411.8.1.gem

  9) dmapp/3.1-1.0400.3387.13.25.gem

 10) xpmem/0.1-2.0400.27172.6.5.gem

 11) Base-opts/1.0.2-1.0400.25719.5.1.gem

 12) xtpe-network-gemini

 13) pgi/11.6.0

 14) totalview-support/1.1.2

 15) xt-totalview/8.9.1

 16) xt-libsci/10.5.02

 17) pmi/2.1.2-1.0000.8396.13.5.gem

 18) xt-asyncpe/5.00.59

 19) atp/1.2.0

 20) PrgEnv-pgi/4.0.12A

 21) pbs/10.4.0.101257

 22) xtpe-mc12

 23) xt-mpich2/5.3.0

После:

Ø  users/yourname> module list

Currently Loaded Modulefiles:

  1) modules/3.2.6.6

  2) nodestat/2.2-1.0400.25564.5.2.gem

  3) sdb/1.0-1.0400.27358.12.17.gem

  4) MySQL/5.0.64-1.0000.2899.19.2

  5) lustre-cray_gem_s/1.8.4_2.6.32.36_0.5.2_1.0400.5941.3.1……

  6) udreg/2.3.1-1.0400.3052.6.12.gem

  7) ugni/2.2-1.0400.3340.9.29.gem

  8) gni-headers/2.1-1.0400.3411.8.1.gem

  9) dmapp/3.1-1.0400.3387.13.25.gem

 10) xpmem/0.1-2.0400.27172.6.5.gem

 11) Base-opts/1.0.2-1.0400.25719.5.1.gem

 12) xtpe-network-gemini

 13) pbs/10.4.0.101257

 14) xtpe-mc12

 15) PrgEnv-cray/4.0.12A

 16) atp/1.2.0

 17) xt-asyncpe/5.00.59

 18) rca/1.0.0-2.0400.27173.6.23.gem

 19) pmi/2.1.2-1.0000.8396.13.5.gem

 20) xt-libsci/10.5.02

 21) acml/4.4.0

 22) xt-totalview/8.9.1

 23) totalview-support/1.1.2

 24) cce/7.4.1.103

5.      Модули позиционирования

Модули позиционирования заслуживают особого внимания.  Чтобы увидеть, какие модули позиционирования доступны в системе, необходимо использовать команду module avail –X. Она возвращает список, который показывает текущие доступные CPU и сетевые модули.

-------------------- /opt/cray/xt-asyncpe/default/modulefiles -------------------------

xtpe-barcelona            xtpe-mc12                  xtpe-network-seastar

xtpe-interlagos            xtpe-mc8                                xtpe-shanghai

xtpe-istanbul               xtpe-network-gemini              xtpe-target-native

      При работе с системой Cray среда по умолчанию должна загрузить сетевые и CPU модули, которые подходят под текущие аппаратные средства. Например, если текущая система - Cray XE6 с 8-ядерным Magny-Cours процессором, система по умолчанию должна включать только xtpe-network-gemini и xtpe-mc8 модули. Если загружены верные модули, не нужно их менять.

      Тем не менее, если работа осуществляется на автономной рабочей станции Linux и разрабатывается код для запуска на системе Cray, нужно убедиться, что текущая среда разработки содержит правильно позиционированные для системы Cray  модули. Например, код был скомпилирован с неверно загруженным CPU модулем, либо с xtpe-network-seastar модулем вместо xtpe-network-gemini, не будет работать под системой Cray XE.

6.      Модуль справки

      Большинство модулей в системе Cray включают модуль справки. Точное содержание данного модуля варьируется в зависимости от поставщика и выпуска, но в целом включает в себя перечень обновлений, таких как списки ошибок, исправленных в релизе,  зависимостей и ограничений.

      Можно просмотреть модуль справки в любое время для любого установленного модуля в системе. Модуль не нужно загружать для того, чтобы просмотреть модуль справки.

      Чтобы получить доступ к модулю справки, используйте команду module help. Например, чтобы увидеть модуль справки, связанный с модулем PGI по умолчанию, введите следующую команду:

Ø  users/yourname> module help pgi

7.      Дополнительная информация

Команды модулей находятся в документациях: module(1) и modulefiles(4). Суммарная информация по командам может быть получена таким образом:

Ø  users/yourname> module help

  Modules Release 3.2.6.6 2007-02-14 (Copyright GNU GPL v2 1991):

  Usage: module [ switches ] [ subcommand ] [subcommand-args ]

Switches:

        -H|--help               this usage info

        -V|--version            modules version & configuration options

        -f|--force              force active dependency resolution

        -t|--terse              terse    format avail and list format

        -l|--long               long     format avail and list format

        -h|--human              readable format avail and list format

        -v|--verbose            enable  verbose messages

        -s|--silent             disable verbose messages

        -c|--create             create caches for avail and apropos

        -i|--icase              case insensitive

        -u|--userlvl <lvl>      set user level to (nov[ice],exp[ert],adv[anced])

  Available SubCommands and Args:

        + add|load              modulefile [modulefile ...]

        + rm|unload             modulefile [modulefile ...]

        + switch|swap           [modulefile1] modulefile2

        + display|show          modulefile [modulefile ...]

        + avail                 [modulefile [modulefile ...]]

        + use [-a|--append]     dir [dir ...]

        + unuse                 dir [dir ...]

        + update

        + refresh

        + purge

        + list

        + clear

        + help                  [modulefile [modulefile ...]]

        + whatis                [modulefile [modulefile ...]]

        + apropos|keyword       string

        + initadd               modulefile [modulefile ...]

        + initprepend           modulefile [modulefile ...]

        + initrm                modulefile [modulefile ...]

        + initswitch            modulefile1 modulefile2

        + initlist

        + initclear

Различные версии программных модулей используются на разных узлах. Соответственно, модуль аргументов команд и параметров, доступных на текущем узле в качестве примера, может отличаться от представленных здесь.