АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Коллективные взаимодействия процессов

Читайте также:
  1. V1: Переходные процессы в линейных электрических цепях, методы анализа переходных процессов
  2. Автоматизация технологических процессов в гостинице
  3. Активизация умственных процессов
  4. АНАЛИЗ ПОЖАРНОЙ ОПАСНОСТИ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ
  5. Анализ пожарной опасности технологических процессов
  6. Анализ техпроцессов механической обработки заданных деталей с экономическим обоснованием по их усовершенствованию.
  7. Б) На этом общемировом фоне цифровыми значками показаны конкретные районы наиболее активного современного развития деградационных процессов.
  8. В. Примеры случайных процессов
  9. Важные аспекты норвежско-российского взаимодействия на современном этапе.
  10. Валидация процессов производства и обслуживания
  11. Взаимодействие гражданского общества и государства. Какое влияние на характер указанного взаимодействия оказывает утвердившийся в стране политический режим?
  12. Взаимодействия и силы. Силы в механике. Первый закон Ньютона.

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

int MPI_Bcast(void *buf, int count, MPI_Datatype datatype, int source, MPI_Comm comm)

  • OUT buf - адрес начала буфера посылки сообщения
  • count - число передаваемых элементов в сообщении
  • datatype - тип передаваемых элементов
  • source - номер рассылающего процесса
  • comm - идентификатор группы

Рассылка сообщения от процесса source всем процессам, включая рассылающий процесс. При возврате из процедуры содержимое буфера buf процесса source будет скопировано в локальный буфер процесса. Значения параметров count, datatype и source должны быть одинаковыми у всех процессов.

int MPI_Gather(void *sbuf, int scount, MPI_Datatype stype, void *rbuf, int rcount, MPI_Datatype rtype, int dest, MPI_Comm comm)

  • sbuf - адрес начала буфера посылки
  • scount - число элементов в посылаемом сообщении
  • stype - тип элементов отсылаемого сообщения
  • OUT rbuf - адрес начала буфера сборки данных
  • rcount - число элементов в принимаемом сообщении
  • rtype - тип элементов принимаемого сообщения
  • dest - номер процесса, на котором происходит сборка данных
  • comm - идентификатор группы
  • OUT ierror - код ошибки

Сборка данных со всех процессов в буфере rbuf процесса dest. Каждый процесс, включая dest, посылает содержимое своего буфера sbuf процессу dest. Собирающий процесс сохраняет данные в буфере rbuf, располагая их в порядке возрастания номеров процессов. Параметр rbuf имеет значение только на собирающем процессе и на остальных игнорируется, значения параметров count, datatype и dest должны быть одинаковыми у всех процессов.

int MPI_Allreduce(void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)

  • sbuf - адрес начала буфера для аргументов
  • OUT rbuf - адрес начала буфера для результата
  • count - число аргументов у каждого процесса
  • datatype - тип аргументов
  • op - идентификатор глобальной операции
  • comm - идентификатор группы

Выполнение count глобальных операций op с возвратом count результатов во всех процессах в буфере rbuf. Операция выполняется независимо над соответствующими аргументами всех процессов. Значения параметров count и datatype у всех процессов должны быть одинаковыми. Из соображений эффективности реализации предполагается, что операция op обладает свойствами ассоциативности и коммутативности.

int MPI_Reduce(void *sbuf, void *rbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)

  • sbuf - адрес начала буфера для аргументов
  • OUT rbuf - адрес начала буфера для результата
  • count - число аргументов у каждого процесса
  • datatype - тип аргументов
  • op - идентификатор глобальной операции
  • root - процесс-получатель результата
  • comm - идентификатор группы

Функция аналогична предыдущей, но результат будет записан в буфер rbuf только у процесса root.


1 | 2 | 3 | 4 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)