Параллельные вычисления в ИММ УрО РАН
 
 

Краткая инструкция по запуску программ на МВС-100

Введение

Данная инструкция содержит минимальные сведения, необходимые для запуска программ для i860 в рамках эксплуатируемого в ИММ матобеспечения.

Языки программирования

В ИММ используются два транслятора с языков высокого уровня Си и Фортран, а также ассемблер i860. В настоящий момент в институте нет описаний самих языков, но можно утверждать, что Си и Фортран практически соответствуют стандартам ANSI C и FORTRAN-77.

Следует помнить, что стандарт не включает в себя многие функции, к которым привыкли пользователи IBM PC, например, ввод символа без эхо getch() или графические функции. Более подробные сведения о реализации языков программирования можно найти в напечатанной документации на английском языке, имеющейся в Институте.

Ошибки

Реализация трансляторов и библиотек содержит ряд ошибок. Информацию о выявленных ошибках можно найти в документе Характерные ошибки программ МВС-100, который будет периодически обновляться. О неописанных ошибках просьба сообщать С.В.Шарфу или А.В.Коновалову (к.107, тел.7-34).

Организация программ

Программы работающие в однопроцессорном варианте пишутся точно также как и на любом другом компьютере.

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

Организация параллельных вычислений осуществляется с использованием:

  1. подпрограмм обмена сообщениями между процессами;
  2. номера процессора и числа загруженных процессоров, которые передаются каждому процессу в качестве аргументов;
  3. общих файлов.
Дальнейшие сведения можно найти в тексте А.О.Лацис Инструкция прикладному программисту по работе на МВС-100 в среде Router

***

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

Настройка среды

Для трансляции программ Вам необходимо запустить файл T:\I860\SET_ENV.BAT, выйдя из NortonCommander'а. Если ваша машина не подключена к сети, то необходимо внести изменения, связанные с именами дисков, в файлы с расширениями .BAT и в каталогах \I860.

Запуск трансляторов

Трансляторы запускаются ДОСовскими запускалками pgf77.exe и pgcc.exe. Синтаксис вызова трансляторов следующий:
        pgf77 [-option...] -o имя.860 {список имен.f и имен.o}
        ----- ------------ ----------  --------------
          1     2              3           4
где
1 - имя команды вызывающей транслятор с FORTRANa;
2 - опции транслятора. Полный список опций изложен в печатной документации и в файле T:\i860\doc\MAN\PGF77.1.
3 - имя выходного объектного модуля трансляции. Рекомендуется расширение .860
4 - Один или больше файлов с исходными текстами FORTRAN-i860 и/или объектных модулей разделенных пробелами. Исходные модули должны обязательно иметь расширение .f, а объектные .o (обязательно строчными буквами).

Вызов транслятора Си выполняется аналогично. Имена исходных модулей должны иметь расширение .c .

Примеры запуска трансляции приведены в файлах T:\I860\FORT860.BAT и T:\I860\С860.BAT

Запуск задачи на счет на плате-ускорителе

Для запуска задачи на счет используются ДОСовские запускалки exe860.exe (запуск на одном процессоре). Синтаксис их вызова следующий:
         exe860 имя.860
         ------ -------
            1      2
где 1 - имя загрузчика;
2 - имя загрузочного модуля, полученного после трансляции.

Запуск программ на МВС-100

В настоящее время на МВС-100 одновременно могут считаться 5 задач. Имеющиеся 64 процессора разделены на 5 полей: одно по 32 и 4 по 16 процессоров в каждом. Выбор поля, на котором запускается задача, обычно выполняется автоматически. Захват хотя бы одного процессора из поля приводит к тому, что все поле становится недоступным на время счета для остальных пользователей.

После трансляции исполняемые файлы .860 и файлы данных должны быть скопированы в подкаталоги каталога S:\mvs\home\uXXXX\.

Для запуска программы на МВС-100 необходимо:

  1. Сконфигурировать машину для работы в Internet. Это делается один раз для каждой машины.
  2. Запустить программу эмуляции UNIX'овского терминала и подключиться к управляющей машине МВС (адрес mvs.imm.uran.ru).
  3. Если терминал подключится, то через несколько секунд Вы увидите приглашение
    Red Hat Linux release 5.2 (Apollo)
    Kernel 2.0.36 on an i486
    login:
    
    на которое необходимо ввести свой шифр, например u9999, пароль и дождаться выдачи подсказки по запуску программы и приглашения 'mvs:~$ '. Если за 3 минуты соединение не состоялось, значит все сломалось. Мы будем благодарны, если Вы сообщите об этом по тел. 7-56 или 7-34.
  4. Запустить свою программу командой
                     exe  ВРЕМЯ  NN:<файла1> MM:<файл2> ...,
    
    где ВРЕМЯ - время в минутах, которое будет считаться Ваша задача, а NN и MM - повторители, указывающие на сколько подряд расположенных процессоров разместить исполныемый файл. Например, вызов
                     exe 10 master.860 10:sl.860 last.860
    
    запустит задачу на десять минут на 12 процессорах, при этом на 0 про- цессор загрузится master.860, на 1..10 - sl.860, а на 11 - last.860.

    Если в задаче не требуется ввод с клавиатуры, то ее можно поставить в очередь командой q (параметры совпадают с параметрами exe). В этом случае после окончания задачи весь вывод оператора PRINT (функции printf) будет находиться в файле s:\mvs\home\uXXXX\stdout.*.

  5. Набрав exit, можно закончить работу с терминалом. Допустимы и другие способы завершения эмулятора терминала (например, в Windows можно набрать Alt-F4 и пр.).
  6. Файлы с результатами счета будут находиться в s:\mvs\home\uXXXX\.
Набрав le в эмуляторе терминала, можно посмотреть список считающихся задач, и задач, стоящих в очереди.

Если задача запущена через q и зависла, то снять ее можно, набрав finish <номер поля>. Если зависла диалоговая задача, то ее можно попытаться остановить, нажимая Ctrl+C. Если это не помогает и если Вы работаете в Windows, то можно запустить вторую копию эмулятора терминала, войти в систему повторно и набрать там finish <номер поля>.

Чтобы удалить не начавшую считаться задачу из очереди, наберите delta <номер задачи>. <номер задачи> можно узнать через le - это содержимое самого левого столбика.

Сейчас днем на счет запускаются задачи протяженностью менее 60 минут. Длинные задачи ставятся в очередь и запускаются ночью. Ночь наступает в 20.00 и продолжается до 7.30. По желанию пользователей установки могут быть изменены.

О графике

Пользователям МВС-100 в ИММ предлагаются следующие графические библиотеки:
  • базовая графическая библиотека МВС-100, разработанная в ИПМ и описанная в GRAPHICS.DOC;
  • модифицированная библиотека ГРАФОР (описана в GRAFORIN.TXT);
  • транспьютерная библиотека фирмы Transtech (TTGS860.DOC);
  • библиотека, обеспечивающая доступ к графике MicrosoftC 6.0, разработанная в ИММ (GRAPH860.DOC).

***

За консультациями, с замечаниями и предложениями можно обращаться в к.107 (тел. 7-34).