Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Запуск программ





Задача ставится в очередь обычной командой запуска MPI-приложений (в квад­ратных скобках указаны необязательные параметры):

mpirun -np N <программа с аргументами!>

где N - число процессоров, которое должно быть не более разрешенного числа процессоров для одной задачи.

Система автоматически подбирает свободные узлы (процессоры) для запуска задачи. На каждом узле может быть запущено прикладных процессов более, чем ре­ально доступно процессоров. Если задача запущена, то система присваивает задаче уникальный номер (ID). В даль­нейшем ID может использоваться для получения информации о состоянии за­дачи и о результатах ее выполнения.

Спецификация необходимых ресурсов может быть осуществлена в qsub с помощью ключей командной строки, особенно - l. Например, чтобы поставить в очередь single задачу sleep.job на один процессор, на полтора часа и используя сто мегабайт памяти, можно сделать так:

 

qsub -l nodes=1:ppn=1,mem=100mb,walltime=1:30:00 -q single sleep.job

 

Еще одна возможность задания ресурсов, более удобная – это указание их внутри самого командного файла, вначале его, в строках-комментариях начинающихся с #PBS, и запуск. Например файл sleep.job может быть следующим:

 

#!/bin/bash

#PBS -q single

#PBS -l nodes=1:ppn=1,mem=100mb,walltime=1:30:00

#PBS -S /bin/bash

#PBS -o sleep.out

#PBS -e sleep.err

#PBS -N sleep

 

echo " Start date:`date`"

sleep 10

echo " End date:`date`"

 

В таком случае он запускается просто как qsub sleep.job. Полный список параметров и ресурсов для qsub можно найти c помощью man qsub и man pbs_resources.

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

Задача должна работать именно на тех узлах и тех процессорах, которые выделены ей Torque. Большинство дистрибутивов MPI имеют собственную систему динамического определения узлов, на которых будет запущена программа. Такая система не должна использоваться, необходимо статически указать дистрибутиву MPI «правильные» узлы. Для этого нужно чтобы командный файл задачи брал список выделяемых узлов из файла, на который указывает переменная $PBS_NODEFILE.

 

Дистрибутив OpenMPI умеет самостоятельно получать список узлов от Torque, поэтому пользователю нет необходимости заботиться об этом.

При использовании дистрибутивов MVAPICH, MVAPICH2 необходимо указать список узлов вручную или использовать специальное средство запуска mpirun_pbs. Каким образом это можно сделать описано ниже.

Например, вот так может выглядеть командный файл запуска параллельной версии программы расчета числа Пи с использованием дистрибутива OpenMPI:

 

#!/bin/bash#PBS -l nodes=2:ppn=2,mem=100mb,walltime=1:30:00#PBS -S /bin/bash #PBS -o out#PBS -e err#PBS -N cpi#PBS -q para /share/openmpi/bin/mpirun –np 4 /home/testuser/bin/cpi

 

Разумеется, программа cpi должна быть скомпилирована с использованием дистрибутива OpenMPI, например:

 

/share/openmpi/bin/mpicc /home/testuser/bin/cpi.c –o /home/testuser/bin/cpi

 

Команда /share/openmpi/bin/mpirun –np 4 /home/testuser/bin/cpi запускает 4 экземпляра программы cpi, выполняемых параллельно. Как видно из примера, пользователю не нужно заботиться, на каких узлах исполняется программа. В этом преимущество OpenMPI.

 

Date: 2015-12-13; view: 438; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.004 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию