Начинающим

Как стать пользователем суперЭВМ

Вычислительные ресурсы для учреждений УрО РАН предоставляются на основе договоров, заключаемых в соответствии с Положение о вычислительном Центре коллективного пользования ИММ УрО РАН от 18.01.2016. Стоимость вычислительных услуг для всех остальных организаций договорная.

Cотрудникам организаций, уже заключивших договор с ИММ УрО РАН, чтобы стать пользователями суперЭВМ, необходимо:

Для работы на суперЭВМ с персонального компьютера пользователю необходимо установить на компьютере программы, которые обеспечат :
1) удаленный доступ к командной строке сервера для компиляции и запуска задач;
2) возможность обмена файлами между компьютером и сервером
3) удобный графический интерфейс.

Начинающим пользователям полезно ознакомиться со Схемой работы на кластере.

Схема работы на кластере

Схема работы на кластере проиллюстрирована ниже на примере кластера "Уран" с использованием программ WinSCP и PuTTY (см. Программы удаленного доступа).

809

Для вычислений на компьютере или кластере нужен исполняемый файл программы и, как правило, исходные данные. Поскольку на компьютере пользователя обычно установлена операционная система Windows, а на кластере - Linux (разновидность UNIX), то для счета на кластере необходимо получить исполняемый файл с помощью одного из компиляторов кластера. Следовательно, на кластер должен быть переписан текст программы.
Для удаленного копирования файлов используется программа WinSCP.
Пользователь копирует файлы (текст программы, исходные данные) с персонального компьютера в свой домашний каталог на кластере:
на рисунке это копирование в /home/u9999, где u9999 - имя (идентификатор, login) пользователя на кластере.

Компиляция программ и запуск задач на счет осуществляются после входа на кластер через программу удалённого доступа PuTTY. Набирая в окне PuTTY соответствующие команды, пользователь выполняет на управляющей машине (хосте) нужные ему действия, в частности, компиляцию и запуск задач на кластере. При этом запуск задачи осуществляется с помощью постановки её в очередь на счет. Ведением очереди и стартом задач на вычислительных узлах занимается система SLURM. Во время счета параллельные вычислительные процессы задачи могут обмениваться данными по коммуникационной сети и имеют доступ к домашнему каталогу.
Пользователь в любой момент может получить информацию о своих задачах в очереди и о доступных ресурсах кластера.

Ускорение вычислений достигается лишь после преобразования последовательной программы в параллельную, обычно с применением стандартов MPI и OpenMP. Запуск на кластере осуществляется с учетом особенностей программ, в частности, с учетом использования MPI и/или OpenMP (см. раздел Компиляция и запуск). Для отладки полезно запустить на кластере последовательный тестовый вариант программы. Так же как параллельные, последовательные (однопроцессные) программы должны запускаться путем постановки в очередь.

Внимание! По правилам пользования вычислительным кластером "Уран" счетные задачи можно запускать лишь на вычислительных узлах кластера, используя команды системы SLURM srun, sbatch или упрощенную команду mqrun (см. Запуск задач на кластере в системе SLURM). Такое ограничение связано с тем, что запущенные на хост-машине процессы счетного характера на длительное время занимают процессорные ядра хост-машины, затрудняя работу с кластером всех остальных пользователей.

О доступе на кластер

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

Для входа на кластер пользователю следует установить программу PuTTY (см. Программы удаленного доступа).

Доступ по ключу

Для организации доступа по ключу требуется выполнить следующую последовательность действий.

1. Сгенерировать и сохранить на своем компьютере приватный (секретный) и публичный ключи,
используя программу PuTTYgen из поставки PuTTY, как проиллюстрировано в инструкции [1]. При этом публичный ключ следует сохранить в файле Блокнота, копируя текст из PuTTYgen: начиная с типа ключа 'ssh-rsa' и заканчивая знаками '==' и комментарием с датой вида 'rsa-key-20150421'.
Секретный ключ рекомендуется зашифровать кодовой фразой (паролем секретного ключа, passphrase) и хранить в безопасном месте.

2. Дозаписать публичный ключ в файл authorized_keys каталога ~/.ssh,
где ‘~’ обозначает домашний каталог пользователя на кластере.
    Пользователь это делает сам (если у него есть доступ на кластер по паролю или другому ключу, см. [1]) или высылает файл с публичным ключом администратору кластера на адрес parallel@imm.uran.ru. Администратор кластера сообщает пользователю об установке публичного ключа на кластер.

3. Создать в PuTTY именованную сессию (Session) для работы на кластере с доступом по ключу, для чего вставить путь к секретному ключу в разделе Connection->SSH->Auth, вернуться в раздел Session и, заполнив поля Host Name и Saved Sessions значениями, например, umt.imm.uran.ru и umt, сохранить настройки (см. [1]).

После этого работа с кластером может быть инициирована двойным нажатием на имени созданной сессии.


Использование агента аутентификации

1. Если секретный ключ защищён кодовой фразой (passphrase), то запуск агента аутентификации, программы Pageant из поставки PuTTY (см. инструкцию [2]) избавляет от ввода passphrase при повторном соединении по ключу с кластером на период времени до завершения работы агента.

2. Запущенный агент позволяет создать цепочку соединений серверов без необходимости подтверждения паролей или секретных ключей на любой промежуточной машине, например, при копировании файлов с одного кластера на другой. Для этого достаточно один раз установить публичный ключ на всех серверах (целевых машинах), а в PuTTY в разделе Connection->SSH->Auth включить Allow agent forwarding (см. [2]).

Pageant можно запустить, например, двойным кликом на секретном ключе и набором его кодовой фразы (если есть). В результате в системной области панели задач (внизу справа ) появится иконка Pageant.
Далее (при каждом входе на кластер) правой кнопкой мыши открываем меню и выбираем для запуска нужную сессию (umt).
Замечание. Запуск сессий в меню Pageant есть для PuTTY Release 0.64.


Генерация ключей в UNIX

В UNIX-системах для генерации ключей используется утилита ssh-keygen,
создающая два файла: ~/.ssh/id_rsa и ~/.ssh/id_rsa.pub (имена по умолчанию),
агент аутентификации запускается с помощью утилиты ssh-agent.


Совместное использование ключа и пароля

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

Надо иметь в виду, что при входе на кластер сначала делается попытка пройти аутентификацию по ключу, а в случае неудачи - по паролю.
В PuTTY удобнее иметь разные сессии для доступа по ключу или паролю.

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


Основные ссылки

1. Настройка аутентификации по ключу в PuTTY
2. Работа с агентом аутентификации в PuTTY

Программы удаленного доступа

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

1.  Удаленный доступ к командной строке сервера

Доступ к серверам осуществляется через протокол SSH (собственно SSH – « secure shell »). Для работы с командной строкой рекомендуется программа PuTTY. Эта программа позволяет единожды ввести адрес сервера и, в дальнейшем, выбирать его из списка сессий. В настройках PuTTY необходимо указать протокол SSH. При первом соединении с сервером программа выдает предупреждение о том, что ключ шифрования сервера ранее не использовался, и предлагает его сохранить или отвергнуть (продолжить сеанс или прервать). Естественно надо выбрать продолжение сеанса.

Полезно более подробно ознакомиться с установкой и некоторыми настройками программы PuTTY.

Пример диалога при входе на сервер UM16 с именем xxxxx с компьютера ada.imm.uran.ru:

login as: xxxxx
Password:				  (ввести пароль)
Last login: Tue Sep 6 16:31:23 2005 from ada.imm.uran.ru 

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

 
[~@um16]:passwd
Password for xxxxx@IMM.URAN.RU:		   (наберите здесь свой текущий пароль)
Enter new password:			   (наберите новый пароль)
Enter it again:				   (повторите новый пароль)
Password changed.			   (успешная смена пароля)

Для того чтобы защитить свою учетную запись, придерживайтесь следующих рекомендаций:
- используйте пароль не менее, чем из 6 букв и цифр и храните его в секрете;
- один раз в полгода меняйте свой пароль;
- никогда не оставляйте активный терминал без внимания, всегда выходите (logout) со своего терминала (заканчивайте сеанс) прежде, чем покинуть его;
- обязательно сообщайте о любом неправильном использовании или злоупотреблении системному администратору, иначе доступ к серверу будет закрыт.

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

2.  Обмен файлами между компьютером и сервером

Для обмена файлами между компьютером и сервером рекомендуется использовать программу WinSCP.

При копировании файлов (протоколы SCP – “secure copy ” и SFTP – “ secure ftp ”) в настройках WinSCP рекомендуется выбрать протокол SFTP. Программа WinSCP позволяет сохранить имя пользователя и пароль. При первом соединении с сервером программа выдает предупреждение о том, что ключ шифрования сервера ранее не использовался, и предлагает его сохранить или отвергнуть (продолжить сеанс или прервать). Естественно, надо выбрать продолжение сеанса. Программа WinSCP может использоваться как самостоятельное приложение и как плагин для других программ проводников, например для Far Commander.

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

На сервере существует понятиe домашнего каталога, это каталог с именем /home/имя_пользователя. При работе с командной строкой этот каталог становится текущим после установления терминального соединения. Программа WinSCP может запоминать последний посещенный в предыдущей сессии каталог. Поэтому важно следить, в какой каталог производится копирование.

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

Полезно ознакомиться с информацией об установке и некоторых настройках программы WinSCP.

3.  Графический интерфейс

Для работы с сервером удобно использовать графический интерфейс. В настоящее время предпочитаемой программой для подключения к рабочему столу кластера в графическом режиме является X2Go Client (замена программы NX Client, которая больше недоступна для скачивания с сайта производителя).

Для удалённого запуска графических Linux программ с использованием протокола X-Window предназначена и программа MobaXterm_vx.x.exe.

Установка и настройка программы PuTTY

Для установки программы PuTTY на свой компьютер  воспользуйтесь ресурсами http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Чтобы войти на нужный кластер, необходимо:

  1. Запустить программу PuTTY.
  2. В открытом окне ввести имя кластера(Host Name).

    Рис. №1

  3. Выполнить  команду OPEN.

Откроется окно , в котором после ввода логина и пароля пользователь может работать на кластере из командной строки или используя Midnight Commander.

Рис. №2

В начале сеанса выдается информация о кластере .

Рис. №3

Для удобства работы можно выполнить  некоторые настройки  и сохранить их для дальнейших сеансов.
Например, чтобы при входе на кластер пользователь мог прочитать вводный текст на русском языке, необходимо выбрать кодировку UTF – 8  и сохранить данную настройку, проделав следующие шаги.

Открыть окно PuTTY

Рис. №4

Выбрать раздел Translation.

Рис. №5

Выбрать кодировку UTF – 8.

Рис. №6

Рис. №7

Перейти к разделу Session.

Рис. №8 

Ввести имя кластера в окнах Host Name и Saved Sessions.

Рис. №9

Нажать клавишу Save (сохранить)

Рис. №10

и затем Open .

В дальнейшем для начала сеанса на кластере достаточно выделить нужную сессию и нажать Load, затем Open или выполнить двойной клик на имени сессии.

Рис. №11
ВНИМАНИЕ!
Чтобы настроить нужную кодировку при работе на другом кластере, необходимо повторить все шаги заново для этого кластера.
В итоге при запуске PuTTY будет открываться окно

Рис. №12

Пользователю достаточно выбрать нужный кластер и начать работу.
Желаем удачи!

Установка и некоторые настройки программы WinSCP

Программа  WinSCP предназначена для удаленной работы с файлами на компьютерах/серверах.

Для установки программы WinSCP на свой компьютер воспользуйтесь ресурсами http://winscp.net/eng/index.php.

Рис. №1

Выбрать Download.

Рис. №2

Выбрать Installation package.

Рис. №3

Выбрать direct link.

Откроется окно загрузки установочного файла winscpsetup427.exe. Сохраните этот файл.

Для установки программы запустите  на выполнение файл winscpsetup427.exe, в процессе установки выбрать английский язык.

Рис. №4

Позднее можно будет русифицировать интерфейс.

Далее работает мастер установки

Рис. №5

 

Стиль графического интерфейса, выбранный в процессе установки,

Рис. №6 

в дальнейшем можно изменить.

По окончании работы мастера установки на рабочем столе будет создан ярлык

Рис. №7

 и откроется окно,

Рис. №8

в котором для настройки на русский язык открыть Languages и выбрать Get More.

Откроется страница http://winscp.net/eng/translations.php, где по ссылке Russian можно списать архив ru.zip.

Рис. №9

Извлечь файл WinSCP.ru из этого архива и поместить его в папку с файлом  WinSCP.exe (обычно C:\Program Files\WinSCP, если не был задан новый путь при установки WinSCP).

В открытом англоязычном окне WinSCP Login  снова нажать на клавишу  Languages  и выбрать Russian-Русский (теперь это будет возможно). Далее  удобно работать с программой WinSCP на русском языке: 

  Рис. №10

Можно заново выбрать привычный для работы интерфейс.

Рис. №11

Ввести необходимую информацию для подключения к выбранному серверу.

Рис. №12

 Сохранить эти настройки.

Рис. №13

Рис. №14

Аналогично можно выполнить и сохранить настройки для входа на другие серверы/кластеры.

Рис. №15

Теперь остается выбрать сессию и выполнить ВОЙТИ.

Во время первого сеанса выдается диагностика,

Рис. №16

выбрать ДА и продолжить работу.

 В новом окне придется подтвердить пароль.

Рис. №17

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

Рис. №18

Либо 

Рис. №19

При закрытии окна рабочего инерфейса можно закончить сеанс работы. 

Рис. №20

Желаем удачи!

Использование MobаXterm

Программа MobaXterm_vx.x.exe предназначена для удалённого запуска графических Linux программ с использованием протокола X-Window.

Программа распространяется в виде архива с именем MobaXterm_Portable_vx.x.zip ( x.x - это номер версии), который можно бесплатно получить на сайте разработчика (http://mobaxterm.mobatek.net/en/).

  1. Спишите архив себе на диск и разархивируйте. Запустите MobaXterm_vx.x.exe:
  2. Рисунки №1 и №2 демонстрируют вызов программы MobaXterm_vx.x.exe, которая открывает терминал.

  3. Далее вызовите PuTTY — свободно распространяемый клиент для различных протоколов удалённого доступа. В секции Window->Translation  задайте кодировку отображаемых символов. Это необходимо для того, чтобы редактировать файлы на русском, или еще каком языке, не использующем латиницу. Установите  настройки PuTTY:
    Window --> Translation: Received data assumed... = UTF-8.
  4.  В свойствах Connection->SSH->Tunnels  для X11 forwarding установите флажокnone Enable X11 forwarding.

    Закажите сессию:

     

Программное обеспечение кластеров

Программное обеспечение кластера (трансляторы, библиотеки, пакеты прикладных программ и т. д.) обновляется и пополняется при выходе новых версий и по запросам пользователей (на адрес parallel@imm.uran.ru).

Для компиляции программ доступны Intel компиляторы (бесплатно для некоммерческого использования в версиях Linux), свободно распространяемые компиляторы серии GCC (GNU Compiler Collection) и компиляторы Portland Group (PGI) с языков C , C++ , Fortran:

     Intel       (icc, icpc, ifort)
     GNU       (gcc, g++, gfortran, g77)
     PGI        (pgcc, pgcpp, pgf77, pgf90, pgf95)

Для трансляции Паскаль-программ можно воспользоваться Free Pascal Compiler (fpc).

На кластере установлено программное обеспечение (ПО) фирмы Intel для профилировки и отладки – Intel Parallel Studio XE. Это ПО позволяет находить наиболее нагруженные места в приложении, подсчитывать степень параллельности программы, находить тупики и гонки в параллельных программах и т.д.

Основные инструменты advisor, inspector и vtune_amplifier_xe находятся в соответствующих папках в каталоге /opt/intel.

Графический интерфейс запускается командами
/opt/intel/advisor/bin64/advixe-gui
/opt/intel/inspector/bin64/inspxe-gui
/opt/intel/vtune_amplifier_xe/bin64/amplxe-gui

Внимание! По умолчанию отлаживаемая программа будет запускаться на управляющей машине кластера и мешать другим пользователям. Как запустить параллельную программу на узлах кластера подробно описано в справке, которая доступна по кнопке (?) в GUI (а в формате html на кластере в папках /opt/intel/*/documentation/) или на сайте Intel https://software.intel.com/en-us/intel-software-technical-documentation.

Для организации межпроцессного взаимодействия, как минимум, можно использовать следующие библиотеки обмена сообщениями, реализующие стандарт MPI:

    MVAPICH2
    OpenMPI
    MPICH2   

MPI (Message Passing Interface) ориентирован, прежде всего, на системы с распределенной памятью.
Возможно распараллеливание программ и с помощью стандарта OpenMP (Open Multi-Processing), ориентированного на системы с общей памятью, а также стандарта OpenACC (Open Accelerators), нацеленного на использование графических процессоров (GPU). В компиляторах Portland Group реализованы как OpenMP, так и OpenACC. Доступна технология CUDA для организации работы с GPU.

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

Доступные пакеты.

Имеются академические лицензии на пакеты Matlab и ANSYS CFX Academic Research.
Информация о запуске программ из этих пакетов находится в разделе "Компиляция и запуск":
    Использование системы Matlab для параллельных вычислений - краткая инструкция;
    Параллельный Matlab - полная инструкция.
    Запуск программ из пакета ANSYS
Установлены по запросам и используются пакеты OpenFOAM, GAMESS, SIESTA, VASP и др.

Компиляция программ на кластере

Для удобства работы на кластере можно воспользоваться оболочкой Midnight Commander (очень напоминает FAR или NC), введя в командной строке mc, и, конечно, полезно ознакомиться хотя бы с базовыми командами ОС UNIX или почитать об OC Linux.

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

Компиляция (в расчете на использование MPI) выполняется утилитами (командами):

  • mpicc для программ на Си
  • mpicxx для программ на C++
  • mpif77 для программ на Фортране 77
  • mpif90 для программ на Фортране 90

Они запускают компилятор, передавая ему дополнительные флаги, специфичные для MPI (ключ -show у этих утилит покажет, какая команда будет выполнена). Заметим, что компиляция программы (например исходной) без MPI может быть выполнена и обычными средствами со ссылкой на используемый компилятор (icc, gcc, pgcc, ...).
Для файлов на Си и C++ важно расширение имени файла: для языка Си это .c, для языка С++ это .cxx.

В командной строке задается список файлов, которые надо откомпилировать, и имя выходного файла. Для удобства желательно сообщения об ошибках компиляции перенаправить в файл. Например, если наш исполняемый файл должен называться outprog и собирается из файлов in1.c и in2.c, находящихся в каталоге proj, то необходимо выполнить следующие действия:

cd proj
mpicc –o outprog in1.c in2.c 2>errors.log

Сообщения об ошибках компиляции попадут в файл errors.log. Файл с ошибками можно скопировать, используя WinSCP, на свою машину и просмотреть в текстовом редакторе (Notepad не подходит из-за различия в формате строк, а Wordpad справляется хорошо) или открыть прямо на вычислителе с использованием mc. В командной строке файл можно пролистать командой:

less errors.log 

При пролистывании используются клавиши <Пробел> - следующая страница, b - предыдущая страница, q - выход из просмотра.

Подключение дополнительных библиотек обеспечивается добавлением опции –l в строку компиляции. Например, библиотека BLAS подключается так:

mpicc -o mytest mytest.c -L /usr/lib64/atlas -lcblas 

Если программа скомпилирована успешно, создастся файл mytest. Это можно посмотреть в WinSCP, не забыв обновить список файлов в окне, или в командной строке командой ls, которая выдает список файлов.

Компиляция программ, использующих для распараллеливания стандарт OpenMP или технологию CUDA, а также особенности запуска таких программ рассмотрены в отдельных инструкциях раздела "Компиляция и запуск", а именно:
    О запуске приложений с OpenMP, PGI Accelerator и OpenACC
    Использование GPU на кластере, CUDA

Для дальнейшей работы на вычислителе следует ознакомиться с инструкцией Запуск задач на кластере в системе SLURM.

Примечание.
Пользователю кластера доступны на запись (помимо чтения) два каталога: его домашний каталог (например /home/u9999/) и каталог /tmp для хранения временных файлов. Домашний каталог общий на всех узлах, /tmp - нет. Из каталога /tmp файлы пользователей периодически удаляются.
Использование /tmp в процессе счета для хранения файлов с результатами вычислений ускоряет счет, поскольку эти файлы создаются на узле.
Файлы с окончательными результатами (допустим по завершении счета) должны быть переписаны пользователем из каталога /tmp в домашний.
При запуске задачи следует заказывать время счета с учетом такой переписи.

Средства визуализации данных

SciDAVis

SciDAVis представляет собой интерактивное приложение, направленное на анализ научных данных и их визуализацию/публикацию. SciDAVis - многоплатформенное - Windows, Linux, MacOS X - свободное программное обеспечение. Данное программное обеспечение совмещает в себе широкую функциональность и интуитивно-понятный интерфейс. SciDAVis позволяет анализировать, обрабатывать и визуализировать экспериментальные данные и аппроксимировать кривые. Поддерживает большое количество аппроксимирующих функций, скрипты, базовые статистики с графиками и визуализацией и многое другое. Основные особенности программы SciDAVis:

  • Генерирование таблиц, матриц, графиков и заметок, собираемых в проекте с удобной организацией.
  • Таблицы для ввода данных напрямую или импорта из ASCII-файлов.
  • Встроенные операции по анализу статистики.
  • Различные форматы публикаций в двухмерном и трехмерном пространствах (включая EPS и PDF). У SciDAVis еще есть функции для расчета корреляции, автокорреляции, свертки и деконволюции.
  • Функции взятия прямого и обратного быстрого преобразования Фурье (БПФ, оно же FFT) и функции для работы со спектрами и сигналами.
  • (С установленной программой Python у вас появляется доступ к объектам.)

 

Список встроенных стандартных функций для создания формул

Стандартные функции:
abs, acos, acosh, asin, asinh, atan, atanh, avg
bessel_i0, bessel_i1, bessel_in, bessel_in_zero, bessel_y0, bessel_y1, bessel_yn, beta
ceil, cos, cosh, erf, erfc, erfz, erfq, exp, floor, gamma, gammaln
hazard, if, ln, log, log10, log2, min, max, mod, pow, rint, sign
sin, sinh, sqrt, sum, tan, tanh, w0, wm1

 

Хранение

SciDAVis хранит все данные в файле своего проекта. В качестве исходных данных программа понимает текстовые файлы, в которых числа записаны столбцами, и файлы, в которых числа разделяются запятыми (CSV). При открытии текстовых файлов в SciDAVis есть возможность указать разделитель между столбцами, разделитель дробной части и символ, отделяющий в больших числах тысячи, миллионы и т.д. для более наглядного вида. Для SciDAVis основная рабочая область – таблица с данными, а графики не привязываются к их расположению на листе, а просто рисуются в отдельных окнах.
Графики могут быть сохранены в нескольких растровых графических форматах файлов, а также в форматах Portable Document Format PDF , Encapsulated PostScript EPS или SVG.

Типы графиков

Программа может рисовать разные типы графиков.

• Исходные точки на графике могут отмечаться какими-нибудь символами. А можно оставить только эти символы без линий и получится так разываемый Scatter.
• Графики, у которых точки соединяются только горизонтальными и вертикальными линиями, получаются ступеньки.
• Графики, представляющие собой вертикальные столбики, обычно их называют Bar. Есть отдельный тип графиков, когда кроме вертикального верхнего уровня столбиков задаются еще и нижние уровни.
• Есть отдельные типы графиков для рисования гистограмм.
• График, когда область под графиком закрашивается или заштриховывается.
• Диаграмма в виде долек пирога – Pie Chart.
• График, изобращающий набор векторов. Причем можно задавать координаты начала и конца вектора, а можно задавать координаты начала, его длину и угол поворота.
• Так называемый Box Plot, используемый для отображения статистических данных.
• Линии уровней.
• Можно рисовать различные трехмерные графики.
  • Трехмерные траектории
  • Трехмерные Scatter’ы
  • Графики в виде трехмерной ленты
  • Трехмерные столбцы, положение на плоскости которых задается двумя координатами, а третья координата определяет их высоту.
  • Трехмерные поверхности. Правда, у SciDAVis такой тип графиков получается угловатый. Трехмерные графики в SciDAVis’е можно вращать, приближать и удалять мышкой.

 

Как создать график в SciDAVis

  1. Построим, например, график, используя функцию IF. Откроем меню Файл и выберем команду Новый/Новый график функции (Рис. №1)

    В откывшемся диалоговом окне, зададим функцию и диапазон изменения аргумента х.

     

    Результат:

  2. Создадим таблицу и на основе значений её ячеек построим график. Заполним первый столбец рядом чисел от 1 до 30 по возрастанию с шагом 1:

    a) Выделим 1-ый столбец
    b) Заполним выделенное с помощью Таблица/Fill Selection with/Row Numbers.

    Ко второму столбцу таблицы, предварительно выделив его, применим формулу sin(col("1"))/col("1"), используя для задания формулы списки диалогового окна (см. Рис. №5)


    Выбрав График/Линия вы построите график по табличным данным. К построенному графику добавим еще график с заданием функции (см. Рис. №2):

  3. Построим график функции импортируя текстовый файл.

    • Для построения графика по насчитанным данным, записанным в файл, выполним Файл/Импорт ASCII... и не забудем правильно задать десятичные разделители (Рис. №8). В результате данные заполнят столбцы (Рис. № 9).
    • Ну а теперь знакомыми приёмами построим график, т.е.выделим 2-й столбик и График/Линия(Рис.№10). Далее вы можете делать с ним что угодно, например, сглаживать или сразу из точек вместо линии построитьсплайн (Рис. №11) т.д.

  4. Построим поверхность. Выполним Файл/Новый/Новый график 3D поверхности , в открывшемся диалоговом окне определим поверхность (Рис. №12)

Трехмерные графики в SciDAVis’е можно вращать, приближать и удалять мышкой.

Перечень пунктов меню SciDAVis

Проиллюстрируем пункты меню. Состав пункта Файл мы уже приводили, приведём и другие пункты для знакомства с интерфейсом приложения:

 
 

Официальная страница SciDAVis находится – здесь.

Интерактивная среда построения графиков GNUPLOT

gnuplot — свободная программа для создания двух- и трёхмерных графиков. gnuplot - терминальное интерактивное приложение в среде ОС UNIX. Позволяет выполнять построение 2-х и 3-х мерных графиков функций. Функции могут задаваться как в аналитическом виде, так и в виде табличных данных, хранящихся в файлах. Набор команд для построения некоторого графика (или группы графиков) может быть записан в файл и выполнен одной командой. Для работы с gnuplot необходима установка на клиентской машине графической среды X-Window (В MS Windows можно установить NX Client или MobaXterm).

  • Вызовите gnuplot:

    После исполнения команды вы увидите, что установлен терминал 'X11':

  • Следом за вызовом gnuplot можно задавать команды и просматривать результаты их выполнения, например, команда:

    plot f(x)=sin(x*a),a=0.2,f(x),a=0.4,f(x)

    нарисует график:

  • , а команда splot x*x+y*y создаст эллиптический параболоид :

  • Можно использовать команды заливки, рисования сетки по всем осям,например, для sin(sqrt(x*x+y*y))/sqrt(x*x+y*y

В современных версиях gnuplot, при использовании интерактивных терминалов (x11,wxt) точку зрения можно менять поворачивая изображение при нажатой кнопке мыши.

Работа в gnuplot осуществляется в двух режимах:

  1. Интерактивный. Пользователь общается с программой с помощью командной строки в режиме реального времени (см. рисунки №3, №4 и №5).
  2. Пакетный. Пользователь подготавливает файл, содержащий последовательный набор команд (новая команда начинается с новой строки). При работе в таком режиме командный файл должен находиться в одной директории с исполняемым файлом gnuplot. После установки gnuplot обработка команд содержащихся в файле, например, simpe1.graph, выполняется командой
    $ gnuplot simpe1.graph
    .
      1. Пример содержимого файла simple1.graph:
        set terminal windows
        set parametric
        set encoding koi8r
        set size square
        set xrange [-1:1]
        set yrange [-1:1]
        f(x)=sin(x) g(x)=cos(x)
        plot f(t), g(t) with points ls 3
      2. Пример визуализации данных файла:
        Содержимое командного файла:
        set terminal windows
        set encoding koi8r
        set yrange [0:1]
        set xrange [0:1]
        plot "RMSresult" with lines and points
         
         
         
         
         
         
        Содержимое файла данных
        (RMSresult ):

        0.1 0.61881100
        0.2 0.55289577
        0.3 0.71881100
        0.4 0.55289577
        0.5 0.61881100
        0.6 0.55289577
        0.7 0.61881100
        0.8 0.55289577
        0.9 0.61881100
        1.0 0.55289577
      3. Пример построения графика с помощью пакетного режима. gnuplot выполняет команды из файла и сохраняет график в файле, который можно просмотреть графическим редактором:

        Содержимое командного файла:
        set term postscript eps
        set palette gray
        set view 45,45
        set isosamples 50
        set output "primer1.eps"
        splot (cos(5*acos(y/sqrt(x*x+y*y)))/(1+(x*x+y*y))**0.25) w pm3d
        1. C сайта http://yurae.boom.ru/softest/GnuPlot.htm:

          " GnuPlot может рисовать графики функций, заданных формулой или точками. Это могут быть функции одной (линия на плоскости) или двух (поверхность в пространстве) переменных. Можно строить графики функций, заданных параметрически, рисовать кривые в полярных координатах. Дополнительно можно наносить на рисунок надписи и стрелки. Поддерживаются различные стили линий и точек, шрифты. Возможен вывод на экран или в файлы различного типа. Кроме того, программа позволяет аппроксимировать экспериментальный набор точек кривыми заданного вида. Работать программа может как под управлением Windows, так и под управлением Unix-подобных ОС. При всем этом, программа абсолютно бесплатна".

          Описание языка можно посмотреть на сайте http://jarosh.by.ru/gnuplot/gnuplot_rus.html

           

           

           

           

           

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

      Полная информация по UNIX командам и их параметрам выдается с помощью справочной команды
      man <имя команды> (q или Q - выход из man).
      Далее под именем файла понимается простое, полное или относительное имя файла.
      Простое имя файла - это имя файла в текущем (рабочем) каталоге (директории), например, mytest.
      Полное (абсолютное) имя файла включает путь от корневого каталога, обозначаемого символом слеш (/), до каталога, содержащего файл, например, /home/u9999/dir/mytest
      (слеш используется и как разделитель подкаталогов). Заметим, что /home/u9999 называется домашним каталогом пользователя u9999, домашний каталог обозначается тильдой (~).
      Относительное имя файла содержит путь, который отсчитывается от текущего каталога и, следовательно, не начинается со слеша, например, dir1/mytest1.
      Аналогичные пояснения относятся и к именам каталогов.

      Следует иметь в виду, что большие и малые буквы в UNIX различаются.
      При наборе команд и путей к файлу можно нажимать клавишу Tab для автодополнения имен; с помощью стрелок вверх и вниз можно выбрать ранее выполнявшуюся команду.

      Ниже перечислены основные команды, с которыми полезно ознакомиться для работы в ОС UNIX:

      • pwd — выдать полный путь текущего каталога;
      • mkdir  <имя каталога> — создать каталог;
      • cd  <имя каталога> — сменить текущий каталог;
      • cd ..  — перейти в каталог уровнем выше ;
      • cd  — перейти в домашний каталог ;
      • ls — распечатать содержимое текущего каталога;
      • ls <имя каталога> —  распечатать содержимое заданного каталога;
      • rm -R  <имя каталога> — удалить каталог со ВСЕМИ (опция -R или -r) подкаталогами и файлами в нем;
        rm <имя файла> — удалить файл. Удалённый файл или каталог восстановить невозможно;
      • cp <имя копируемого файла> <имя каталога, в который копируем> — копировать файл, например
            cp /home/u9999/mytest /home/u9999/dir
      • mv <имя исходного файла> <имя каталога, в который перемещаем|имя файла, в который переименовываем> — переместить (переименовать) файл;
      • cat <имя файла> —  выдать содержимое файла на консоль;
      • gzip <имя файла> — сжать файл;
      • gunzip <имя файла>.gz —  расжать файл;
      • tar <опции> <имя архива>.tar <имена файлов и каталогов> — работа с архиватором tar;
      • size <имя файла с исполняемой программой> — выдать размер исполняемой программы в байтах, например
        $ size mytest
          text    data   bss         dec         hex       filename
          423017  12016  2128658400  2129093433  7ee76339  mytest

        где
        text - размер выполняемого кода,
        data - размер области инициализированных данных,
        bss - размер области неинициализированных данных,
        dec - общий размер программы,
        hex - общий размер программы в шестнадцатеричной системе,
        filename - имя программы. Если имя не указано, то будет использоваться a.out ;
      • quotacheck (добавленная команда) позволяет узнать назначенный пользователю лимит дискового пространства и текущий объем его данных на диске, например
        $ quotacheck
        User: u9999
        Used: 25.18GB
        Limit: 100.00GB
      • du <опции> <имя файла или каталога> — оценка места на диске, занимаемого файлом или каталогом, например
            du -h mytest

        опция -h используется для более удобной формы выдачи (например, 1K 234M 2G), иначе по умолчанию в K, т.е. в Kбайтах (1 Кбайт=1024 байт); опция --si как -h, но использует степень 1000, а не 1024.
            du -sh /home/u9999

        опция -s используется для выдачи суммарного места на диске, занимаемого пользователем u9999.
            При отсутствии аргумента-имени выдается информация для текущего каталога:
            du -sh
             — размер текущего каталога;
            du -h
              — размер каталога и подкаталогов.
      • passwd — сменить пароль;
      • uptime — получить время непрерывной работы сервера;
      • exit — выйти из оболочки (или отключиться от машины).

      Работа с архиватором tar

      tar <опции> -f <имя архива>.tar <имена файлов и каталогов>

      Опции:
        -f    —  указать имя файла архива. По умолчанию архив читается со стандартного ввода. -f - —  явное задание чтения архива со стандартного ввода.

        -c   — создать архив и записать в него файлы;
        -x   —  извлечь файлы из архива;
        -t   —  просмотреть содержимое архива; формат вывода аналогичен команде ls –l; если имена файлов не указаны, то выводятся сведения обо всех файлах архива;

        -z   —  использовать программу gzip для сжатия при архивировании файлов и для обратной распаковки архива перед извлечением из него файлов. Файлу сжатого архива принято давать с расширением .tar.gz или сокращённо .tgz;
        -j   —  аналогично -z только для программы bzip2 и архивов с расширением .tar.bz2 или .tbz;
      В современных версиях tar опции вызова программы сжатия -z, -j и т.п. указывать не обязательно   —  формат архива распознаётся автоматически.

        -p   —  при извлечении сохранить права доступа к файлам (по умолчанию сбрасываются права указанные в маске umask);
        -v   —  выводить имена всех файлов, которые обрабатываются; если выбрана и опция t, то v дает больше информации о сохраненном файле, а не просто его имя.

       При использовании нескольких опций знак  «-» перед опциями не ставится.

      Примеры

      tar cf myarch.tar file1 file2 … filen   — создание архива myarch.tar и запись в него перечисленных файлов;

      tar cf myarch.tar mydir   —  создание архива из содержимого каталога mydir и всех его подкаталогов в файле myarch.tar;

      tar xvpf myarch.tar— извлечение файлов из архива; при извлечении формируются и все подкаталоги; (f  —  ссылается на архивный файл, данная опция ставится последней в списке опций; p  — заархивированные файлы будут восстановлены с изначальными правами доступа; v  — выводятся имена извлекаемых файлов);

      tar tf myarch.tar   —  выдача списка всех файлов, хранящихся в архиве myarch.tar;

      tar cfz myarch.tgz mydir  —  архивация файлов с последующим сжатием архива программой gzip;

      tar xfz myarch.tgz   —  вызов gzip для распаковки архива перед извлечением файлов;

      zcat myarch.tgz | tar xf -   — вызов внешней программы распаковки и передача распакованного архива через перенаправление стандартного ввода.

      Архив

      Установка и настройка NX клиента для Windows

      1. Дистрибутив NX клиента для Windows (nxclient-x.x.x-x.exe, где x.x.x-x - это номер версии) можно бесплатно получить на сайте разработчика www.nomachine.com в разделе
        DOWNLOAD->Legacy NX 3.5.0 products (NX Client for Windows в списке NX Client products).

        ВНИМАНИЕ! Версия 3 была полностью заменена версией 4, коммерческой.
        Вместо программы NX Client можно использовать программу X2Go Client, а также MobaXterm_vx.x.exe.

        Чтобы начать процедуру установки запустите скаченный файл и проделайте весь путь инсталляции до добавления NX Client for Windows в меню:
        none
      2. Запустите NX Connection Wizard (мастера настройки NX) для установки вашей сессии

        Диалоговое окно настройки сессии:
        none Далее: none  

        • • Host - имя сервера, к которому планируется подключение. Для кластера "Уран" это имя umt.imm.uran.ru .
        • • Port- номер порта, на котором сервер ждет подключений - 22.
        • • Ползунок с подписями "Modem", "ISDN", "ADSL", "WAN" и "LAN" - меняет степень сжатия данных в канале между сервером и клиентом и позволяет снизить объем трафика в канале связи "клиент <-> сервер". Выбор левой отметки означает меньшую нагрузку на сеть и большую на процессор, а правой отметки - большую нагрузку на сеть и меньшую на процессор.
          Итак, задав имя сервера, порт, имя сессии вам необходимо задать параметры рабочего стола:

        noneDesktop - выбор параметров рабочего стола. В одном выпадающем списке выбирается ОС, запущенная на сервере, к которому планируется подключение. Во втором выпадающем списке выбирается графическая оболочка (Gnome, KDE, пр.), вход в которую будет осуществлен автоматически. Рекомендуем задавать KDE.
        Display - установка размеров экрана. Можно выбрать конкретные значения (например, "640х480" или "800х600" и т.д.), можно выбрать полноэкранный (Fullscreen) или пользовательский (Custom) размеры...
        Следующее диалоговое окно будет завершающим настройку соединения.

      3. none

      4. В дальнейшем вызвав NX Client for Windows и задав сессию
        none
        вы можете увидеть примерно следующее:
      5. none

        Примечание:
        Сессия считается завершенной только после выключения компьютера. Закрыв окно сессии, вы можете вернутся к истории ваших команд, если повторно закажите сессию.

      Настройка русской клавиатуры в NX клиенте

      Для настройки русской клавиатуры в NX клиенте используются стандартные механизмы Linux. В графической среде, установленной на кластере "Уран", настройка выполняется следующим образом:

      Нажимаем на кнопку "Пуск" в левом нижнем углу Linux'овского рабочего стола.

      Выбираем меню "System settings"->"Regional & language"

      Выбираем подпункт "Keyboard layout" и на вкладке "Layouts" ставим галочку в "Enable keyboard layouts"

      Добавляем русский язык в "Active layouts"

      На вкладке "Switching options" и "Advanced" выбираем сочетание клавиш для переключения раскладок и объекты на которые распространяется действие переключения. На скриншотах переключение настроено по сочетанию клавиш "Alt+Пробел" одновременно для всех запущенных программ.