Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » 2006 Ответы на экзаменационные вопросы по ПОД (Lilalbrother)

2006 Ответы на экзаменационные вопросы по ПОД (Lilalbrother), страница 13

PDF-файл 2006 Ответы на экзаменационные вопросы по ПОД (Lilalbrother), страница 13 Суперкомпьютерное моделирование и технологии (64127): Ответы (шпаргалки) - 11 семестр (3 семестр магистратуры)2006 Ответы на экзаменационные вопросы по ПОД (Lilalbrother): Суперкомпьютерное моделирование и технологии - PDF, страница 13 (64127) - СтудИзба2020-08-25СтудИзба

Описание файла

PDF-файл из архива "2006 Ответы на экзаменационные вопросы по ПОД (Lilalbrother)", который расположен в категории "". Всё это находится в предмете "суперкомпьютерное моделирование и технологии" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 13 страницы из PDF

Все элементы сообщения расположеныподряд в буфере buf. Значение count может быть нулем. Тип передаваемых элементовdatatype должен указываться с помощью предопределенных констант типа. Разрешаетсяпередавать сообщение самому себе.Блокировка гарантирует корректность повторного использования всех параметровпосле возврата из подпрограммы. Выбор способа осуществления этой гарантии:копирование в промежуточный буфер или непосредственная передача процессу dest,остается за MPI. Следует специально отметить, что возврат из подпрограммы MPI_Sendне означает ни того, что сообщение уже передано процессу dest, ни того, что сообщениепокинуло процессорный элемент, на котором выполняется процесс, выполнившийMPI_Send.int MPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest, int msgtag, MPI_Commcomm, MPI_Request *request)buf - адрес начала буфера посылки сообщенияcount - число передаваемых элементов в сообщенииdatatype - тип передаваемых элементовdest - номер процесса-получателяmsgtag - идентификатор сообщенияcomm - идентификатор группыOUT request - идентификатор асинхронной передачиПередача сообщения, аналогичная MPI_Send, однако возврат из подпрограммыпроисходит сразу после инициализации процесса передачи без ожидания обработки всегосообщения, находящегося в буфере buf.

Это означает, что нельзя повторно использоватьданный буфер для других целей без получения дополнительной информации озавершении данной посылки. Окончание процесса передачи (т.е. того момента, когдаможно переиспользовать буфер buf без опасения испортить передаваемое сообщение)можно определить с помощью параметра request и процедур MPI_Wait и MPI_Test.Сообщение, отправленное любой из процедур MPI_Send и MPI_Isend, может бытьпринято любой из процедур MPI_Recv и MPI_Irecv.int MPI_Send_init( void *buf, int count, MPI_Datatype datatype, int dest, int msgtag,MPI_Comm comm, MPI_Request *request)buf - адрес начала буфера посылки сообщенияcount - число передаваемых элементов в сообщенииdatatype - тип передаваемых элементовdest - номер процесса-получателяmsgtag - идентификатор сообщенияcomm - идентификатор группыOUT request - идентификатор асинхронной передачиФормирование запроса на выполнение пересылки данных. Все параметры точнотакие же, как и у подпрограммы MPI_Isend, однако в отличие от нее пересылка неначинается до вызова подпрограммы MPI_Startall.int MPI_Sendrecv( void *sbuf, int scount, MPI_Datatype stype, int dest, int stag, void *rbuf, intrcount, MPI_Datatype rtype, int source, MPI_Datatype rtag, MPI_Comm comm, MPI_Status*status)••••••••••••sbuf - адрес начала буфера посылки сообщенияscount - число передаваемых элементов в сообщенииstype - тип передаваемых элементовdest - номер процесса-получателяstag - идентификатор посылаемого сообщенияOUT rbuf - адрес начала буфера приема сообщенияrcount - число принимаемых элементов сообщенияrtype - тип принимаемых элементовsource - номер процесса-отправителяrtag - идентификатор принимаемого сообщенияcomm - идентификатор группыOUT status - параметры принятого сообщенияДанная операция объединяет в едином запросе посылку и прием сообщений.Принимающий и отправляющий процессы могут являться одним и тем же процессом.Сообщение, отправленное операцией MPI_Sendrecv, может быть принято обычнымобразом, и точно также операция MPI_Sendrecv может принять сообщение, отправленноеобычной операцией MPI_Send.

Буфера приема и посылки обязательно должны бытьразличными.35. MPI: коллективные операции.В операциях коллективного взаимодействия процессов участвуют все процессыкоммуникатора. Соответствующая процедура должна быть вызвана каждым процессом,быть может, со своим набором параметров. Возврат из процедуры коллективноговзаимодействия может произойти в тот момент, когда участие процесса в даннойоперации уже закончено. Как и для блокирующих процедур, возврат означает то, чторазрешен свободный доступ к буферу приема или посылки, но не означает ни того, чтооперация завершена другими процессами, ни даже того, что она ими начата (если этовозможно по смыслу операции).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, introot, MPI_Comm comm)sbuf - адрес начала буфера для аргументовOUT rbuf - адрес начала буфера для результатаcount - число аргументов у каждого процессаdatatype - тип аргументовop - идентификатор глобальной операцииroot - процесс-получатель результатаcomm - идентификатор группыФункция аналогична предыдущей, но результат будет записан в буфер rbuf толькоу процесса root.int MPI_Barrier( MPI_Comm comm)comm - идентификатор группыБлокирует работу процессов, вызвавших данную процедуру, до тех пор, пока всеоставшиеся процессы группы comm также не выполнят эту процедуру.36.

MPI: группы, коммуникаторы.int MPI_Comm_split( MPI_Comm comm, int color, int key, MPI_Comm *newcomm)••••comm - идентификатор группыcolor - признак разделения на группыkey - параметр, определяющий нумерацию в новых группахOUT newcomm - идентификатор новой группыДанная процедура разбивает все множество процессов, входящих в группу comm, нанепересекающиеся подгруппы - одну подгруппу на каждое значение параметра color(неотрицательное число). Каждая новая подгруппа содержит все процессы одного цвета.Если в качестве color указано значение MPI_UNDEFINED, то в newcomm будетвозвращено значение MPI_COMM_NULL.int MPI_Comm_free( MPI_Comm comm)•OUT comm - идентификатор группыУничтожает группу, ассоциированную с идентификатором comm, который послевозвращения устанавливается в MPI_COMM_NULL.37.

Модели параллельных программ: SPMD, мастер/рабочие.Схема мастер/рабочие (master/slaves). Процесс-мастер порождает какое-то числоодинаковых процессов-рабочих, распределяет между ними работу и собирает результат.Приведём для примера текст подобной программы написанной для системы Linda.main(argc, argv)int argc;char *argv[];{int nworker, j, hello();nworker = atoi (argv[l]);for (j = 0; j < nworker; j++)eval ("worker", hello(j));for(j =0; j < nworker; j++)in("done");printf("Hello_world is finished.\n");}int hello (num)/** function hello **/int num;{printf("Hello world from number %d.\n", num);out("done");return(0);}Если много рабочих то мастер не сможет их всех обслужить.SPMD-модель. В рамках этой модели для всех параллельных процессовиспользуется один и тот же код.

Одна программ много данных.38. Модели передачи сообщений Send/Recv и Put/Get; свойства программ,написанных в терминах Put/Get.39. OpenMP: общая концепция.Одним из наиболее популярных средств программирования компьютеров с общейпамятью, базирующихся на традиционных языках программирования и использованииспециальных комментариев, в настоящее время является технология OpenMP. За основуберется последовательная программа, а для создания ее параллельной версиипользователю предоставляется набор директив, процедур и переменных окружения.Стандарт OpenMP разработан для языков Фортран, С и С++.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее