| |
Эти функции пишут/читают в/из буфера в формате данных ``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
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |