Вычислительный центр им. А.А. Дородницына РАНРаздел виртуального курса
|
|
Работу следует делать после изучения MPI основы попарного обмена сообщениями II. Прежде чем приступить к этой работе необходимо завершить модуль и лабораторную работу по основам программирования в MPI.
Файл на C для работы:
В данном упражнении используется программа, в которой рассматривается относительная эффективность четырех способов коммуникации (синхронного, по готовности, буферизованного и стандартного), измеренная как минимальное время, потраченное на вызов блокирующей отправки. Заметим, что эта величина не является мерой времени для завершения коммуникации или даже мерой полной системной накладки.
Программа blocksends сообщает истекшее (wallclock) время, потраченное на вызовы блокирующих отправок для четырех способов коммуникации. Все получатели определяются до того, как отсылаются какие-либо сообщения. Относительные времена могут отличаться в случае, если получатели не были определены первыми.
для C: nmake /f cbrcv.mak blocksends.exe
mpirun -np 2 blocksends.exe message_length_in_number_of_floats(reals)
Отметьте время, потраченное на блокирующую отправку для различных способов коммуникации. Для этого может понадобиться несколько запусков, чтобы получить представительные (репрезентативные) длительности.
Файлы для работы на C:
Это упражнение показывает, что замена блокирующего получения на неблокирующее может уменьшить синхронизационную накладку для соответствующей стандартной блокирующей отправки в случае сообщений, размер которых превышает размер буфера по умолчанию для коммуникаций на кластере.
Программа brecv.exe является весьма искусственной: в ней задача 0 осуществляет блокирующую отправку, а задача 1 бездействует в течение десяти секунд перед выполнением блокирующего получения. Вызов бездействия предназначен для имитации затрат времени на полезные вычисления.
Программа на C вызывает функцию new_sleep(), чтобы сымитировать некоторые вычисления.
nmake /f cbrcv.mak brecv.exe
для C: nmake /f cbrcv.mak nbrecv.exe
mpirun -np 2 brecv.exe 2048
mpirun -np 2 brecv.exe 2049
mpirun -np 2 nbrecv.exe 2048
mpirun -np 2 nbrecv.exe 2049
|
|
╘ 2003 Вычислительный центр им.
А.А.Дородницына Все права защищены. |
|