Основы параллельных вычислений. Руководство по параллельному программированию на вычислительной системе РowerХplorer

Страницы работы

Фрагмент текста работы

Здесь -c опция, указывающая (компилятору) что выходным файлом является объектный файл.

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

Если необходимо объединить несколько объектных модулей исходных программ, и к тому же присоединить к ним еще и ранее созданные объектные программы, для получения единого загрузочного модуля - нужно записать:

px cc -o hello.px hello1.c hello2.c he1.o he2.o

Если необходимо присоединение к hello.px библиотечных программ, например из библиотеки виртуальных топологий VT, то:

px cc -o hello.px -l VT hello.c

Если необходимо присоединить к hello.px еще и программы из собственной библиотеки то:

px cc -o hello.px -l VT -L/$HOME/lib -l NM hello.c

Здесь NM -имя собственной библиотеки, которая стоит в пользовательской директории lib. В этой директории библиотека стоит с именем libNM.a. HOME -обозначает системную переменную, которая создается при заведении имени пользователя в системе. Например может быть: HOME = /local/home/imyap (imyap - имя пользователя. HOME смотрится по команде setnv). Знак $ -указывает, что HOME системная переменная; опция -L указывает, что /$HOME/lib - есть маршрут к библиотеке NM.

Некоторое отступление.

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

px ar rv MYLIB hello1.o hello2.o ... hellok.o

Для формирования заголовка библиотеки записывается оператор (оператор обязателен после каждого пополнения библиотеки):

px runlib MYLIB

2.1.2. ЗАПУСК ПРОГРАММ

В операторе запуска программ пользователь сам указывает номера каналов связи с управляющей ЭВМ и размер подсистемы (размер решетки).

px run -fk N M hello.px

Здесь k номер канала (link) связи с управляющей ЭВМ; k = 0,1,2,3. N,M - размер подсистемы, которая задается в виде решетки: 1 1 (N = 1, M = 1), 1 2, 2 1, 2 4, 4 2, 1 3, 3 1, и т.д.

В кабинете 1 (см. рис.1) можно запускать через k = 0; в кабинете 2 - через k = 2. Во всей системе можно запускать только через k = 0.

Программа hello.px загружается в указанную подсистему путем копирования в каждый процессор, после чего копии запускаются. Если подсистема занята другими задачами, то оператор не выполняется и об этом выдается сообщение.

ПРИМЕР ЗАДАЧИ

Программа  hello.c

#include<stdio.h>

int main(void)

{ printf("hello, world\n");

return (0);

}

Компиляция:     px cc -o hello.px hello.c

Запуск:              px run -f0 2 2 hello.px 

Результат:         hello, world

hello, world

hello, world

hello, world

Результат выводится на экран монитора.  (Далее вместо -‘экран монитора’ будем писать для краткости -‘экран’).

2.1.3. РАБОТА ОПЕРАТОРА

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

Команды для работы с файловой системой.

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

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

ls - l   - выводит о файле или каталоге следующую информацию, например: drwxrwxrwx 2 dick 32 Dec 30 18:54 A. Здесь d - указывает, что это каталог; rwxrwxrwx - сообщает о правах доступа; 2 - сообщает о количестве связей; имя dick сообщает о владельце файла; 32 - указывает размер файла в символах; Dec 30 18:54 - время последнего изменения файла;  A - имя  каталога, а если вместо d стоит «-», то А имя файла.

сd «полное имя каталога» - осуществляет переход в каталог с указанным именем (т.е. /usr/dick/A приводит к переходу в каталог А). Если известно местоположение в файловой системе, можно задавать только имя относительно текущего каталога. сd.. - возвращает на один уровень вверх по дереву каталога.

mkdir «имя каталога1» «имя каталога2» ...  - создает новые каталоги.

rmdir «имя каталога1» «имя каталога2» ...  - удаляет каталоги.

Команды для работы  с файлами.

joe [«имя файла»]- запускает редактор, с помощью которого можно

Информация о работе