MPI_SEND(buf, count, datatype, dest, tag, comm)
Данные в сообщении Буфер посылки описывается операцией MPI_SEND,в которой указано количество последовательных элементов, тип которых указан в поле datatype,начиная с элемента по адресу buf.Длина сообщения задается числом элементов, а не числом байт. Число данных countв сообщении может быть равно нулю, это означает, что область данных в сообщении пуста. Базисные типы данных в сообщении соответствуют базисным типам данных используемого языка программирования. Список возможного соответствия этих типов данных для языка С и MPI дан ниже.
Типы MPI_BYTEи MPI_PACKEDне имеют соответствия в языке С. Значением типа MPI_BYTEявляется байт. Байт не интерпретируется и отличен от символа. Различные машины могут иметь различное представление для символов или могут использовать для представления символов более одного байта. С другой стороны, байт имеет то же самое двоичное значение на всех машинах. Атрибуты сообщения В дополнение к описанию данных сообщение несет информацию, которая используется, чтобы различать и выбирать сообщения. Эта информация состоит из фиксированного количества полей, которые в совокупности называются атрибутами сообщения. Эти поля таковы: source, destination, tag, communicator (номер процесса-отправителя сообщения, номер процесса-получателя, тэг, коммуникатор). Целочисленный аргумент тэг используется, чтобы различать типы сообщений. Диапазон значений тэга находится в пределах 0,…,UB, где верхнее значение UB зависит от реализации. MPI требует, чтобы UB было не менее 32767. Аргумент commописывает коммуникатор, который используется в операции обмена. Коммуникатор описывает коммуникационный контекст коммуникационной операции. Сообщение всегда принимается внутри контекста, в котором оно было послано; сообщения, посланные в различных контекстах, не взаимодействуют. Коммуникатор также описывает ряд процессов, которые разделяют этот коммуникационный контекст. Эта группа процессов упорядочена, и процессы определяются их номером внутри этой группы: диапазон значений для destесть 0,...,n-1, где n есть число процессов в группе В MPI предопределен коммуникатор MPI_COMM_WORLD.Он разрешает обмен для всех процессов, которые доступны после инициализации MPI, и процессы идентифицируются их номерами в группе MPI_COMM_WORLD. Блокирующий прием ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|