Данные перемещаются между файлами и процессами при помощи
генерирования вызовов чтения и записи. Доступ к данным имеет три
основных аспекта: позиционирование (определенные смещения или
неопределенный указатель на файл), синхронизация (блокирующие
запросы или неблокирующие и разделенные коллективные) и
координация (коллективные и неколлективные). Предоставлены
подпрограммы доступа к данным со следующими комбинациями,
включая два типа файловых указателей (индивидуальные и общие):
POSIX read()/fread() и write()/fwrite() - это блокирующие
неколлективные операции, использующие индивидуальные
файловые указатели. Эквиваленты в MPI - MPI_FILE_READ и
MPI_FILE_WRITE. Реализации подпрограмм доступа к даннным
могут производить буферизацию данных для увеличения
производительности. Это не влияет на чтение, так как данные всегда
доступны в буфере пользователя после завершения операции
чтения. Для записи, однако, только подпрограмма MPI_FILE_SYNC
гарантирует, что данные были перемещены на устройство хранения.