next up previous contents
Next: Разделенные коллективные подпрограммы доступа Up: Доступ к данным с Previous: Коллективные операции.   Contents

Поиск.

Если был определен тип доступа MPI_MODE_SEQUENTIAL, когда открывался файл, то ошибочно вызывать подпрограммы ( MPI_FILE_SEEK_SHARED и MPI_FILE_GET_POSITION_SHARED).





MPI_FILE_SEEK_SHARED(fh, offset, whence)



INOUT fh дескриптор файла (дескриптор)
IN offset смещение (целое)
IN whehence тип обновления (положение)




MPI_FILE_SEEK_SHARED(FH, OFFSET, WHENCE, IERROR) INTEGER FH, WHENCE, IERROR INTEGER(KIND=MPI_OFFSET_KIND) OFFSET void MPI::File::Seek_shared(MPI::Offset offset, int whence) MPI_FILE_SEEK_SHARED изменяет индивидуальный файловый указатель относительно аргумента whence, который может иметь следующие значения: MPI_FILE_SEEK_SHARED - коллективная; все процессы в группе коммуникатора, ассоциированной с дескриптором файла fh, должны вызывать MPI_FILE_SEEK_SHARED с одинаковыми значениями offset и whence. Аргумент offset может быть отрицательным, что позволяет осуществлять поиск в обратном направлении. . Ошибочно переходить к отрицательным для вида позициям.



MPI_FILE_GET_POSITION_SHARED(fh, offset)



IN fh дескриптор файла (дескриптор)
OUT offset смещение общего файлового указателя (целое)




int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset) MPI_FILE_GET_POSITION_SHARED(FH, OFFSET, IERROR) INTEGER FH, IERROR INTEGER(KIND=MPI_OFFSET_KIND) OFFSET MPI::Offset MPI::File::Get_position_shared() const MPI_FILE_GET_POSITION_SHARED возвращает, в аргументе offset, текущую позицию индивидуального файлового указателя в единицах е-типа относительно текущего вида.

Совет пользователям:

Смещение может быть использовано при дальнейших вызовах MPI_FILE_SEEK_SHARED, используя whence = MPI_SEEK_SET, для возврата к текущей позиции. Чтобы установить смещение файлового указателя, сначала необходимо преобразовать offset в абсолютную позицию байта, используя MPI_FILE_GET_BYTE_OFFSET, а затем вызвать MPI_FILE_SET_VIEW с получившимся смещением. []



Alex Otwagin 2002-12-10