The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа
next up previous contents
Next: Функции и макросы Up: Новые стандартные типы Previous: Тип unsigned long long   Contents

Канонические MPI_PACK и MPI_UNPACK

Эти функции пишут/читают в/из буфера в формате данных ``external32'', определенном в главе External Data Representation: ``external32'', и рассчитывают размер, необходимый для упаковки. Первые аргументы определяют формат данных, для будущего расширения, но для MPI-2 единственный верный аргумент datarep - ``external32.''

Совет пользователям: Эти функции могут быть использованы, например, для пересылки данных жесткого типа в переносимом формате из одной реализации MPI в другую. []

Буфер будет содержать упакованные данные, без заголовков.

MPI_PACK_EXTERNAL(datarep, inbuf, incount, datatype, outbuf, outsize,
position )
IN datarep представление данных (строка)  
IN inbuf начало входного буфера (выбор)  
IN incount количество элементов входного буфера (целое)  
IN datatype тип данных элементов входного буфера (дескриптор)  
OUT outbuf начало выходного буфера (выбор)  
IN outsize размер выходного буфера (целое)  
INOUT position текущая позиция в буфере в байтах (целое)  

int MPI_Pack_external(char *datarep, void *inbuf, int incount,
    MPI_Datatype datatype, void *outbuf, MPI_Aint outsize,
    MPI_Aint *position)

MPI_PACK_EXTERNAL(DATAREP, INBUF, INCOUNT, DATATYPE, OUTBUF,
    OUTSIZE, POSITION, IERROR)
    INTEGER INCOUNT, DATATYPE, IERROR
    INTEGER(KIND=MPI_ADDRESS_KIND) OUTSIZE, POSITION
    CHARACTER*(*) DATAREP
    <type> INBUF(*), OUTBUF(*)

void MPI::Datatype::Pack_external(const char* datarep, const void* inbuf,
     int incount, void* outbuf, MPI::Aint outsize,
     MPI::Aint& position) const

MPI_UNPACK_EXTERNAL(datarep, inbuf, incount, datatype, outbuf, outsize,
position )
IN datarep представление данных (строка)  
IN inbuf начало входного буфера (выбор)  
IN insize размер входного буфера (целое)  
INOUT position текущая позиция в буфере в байтах (целое)  
OUT outbuf начало выходного буфера (выбор)  
IN outcount количество элементов выходного буфера (целое)  
IN datatype тип данных элементов выходного буфера (дескриптор)  

int MPI_Unpack_external(char *datarep, void *inbuf,
      MPI_Aint insize, MPI_Aint *position, void *outbuf,
      int outcount, MPI_Datatype datatype)

MPI_UNPACK_EXTERNAL(DATAREP, INBUF, INSIZE, POSITION, OUTBUF,
    OUTCOUNT, DATATYPE, IERROR)
    INTEGER OUTCOUNT, DATATYPE, IERROR
    INTEGER(KIND=MPI_ADDRESS_KIND) INSIZE, POSITION
    CHARACTER*(*) DATAREP
    <type> INBUF(*), OUTBUF(*)

void MPI::Datatype::Unpack_external(const char* datarep, const void*
    inbuf, MPI::Aint insize, MPI::Aint& position, void* outbuf,
    int outcount) const
MPI_PACK_EXTERNAL_SIZE( datarep, incount, datatype, size )
IN datarep представление данных (строка)
IN incount количество элементов входного буфера (целое)
IN datatype тип данных элементов входного буфера (дескриптор)
OUT size размер выходного буфера (целое)
int MPI_Pack_external_size(char *datarep, int incount, MPI_Datatype
    datatype, MPI_Aint *size)

MPI_PACK_EXTERNAL_SIZE(DATAREP, INCOUNT, DATATYPE, SIZE, IERROR)
    INTEGER INCOUNT, DATATYPE, IERROR
    INTEGER(KIND=MPI_ADDRESS_KIND) SIZE
    CHARACTER*(*) DATAREP

MPI::Aint MPI::Datatype::Pack_external_size(const char* datarep, int
    incount) const


next up previous contents
Next: Функции и макросы Up: Новые стандартные типы Previous: Тип unsigned long long   Contents
Alex Otwagin 2002-12-10



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру