Ввод-вывод в MPI гибок и современен, однако именно поэтому случайному
читателю может не показаться очевидным, как его возможности могут быть использованы
для достижения желаемого результата. etype, filetype (тип файла),
независимый и разделенный указатели, коллективный ввод-вывод или нет: все это должно быть выбрано
правильно. Иногда есть несколько путей достичь той же цели, есть и бессмысленные
комбинации.
В нескольких следующих главах мы покажем использование функций ввода-вывода
MPI-2 с множеством примеров. Начнем мы с общих принципов, приемлемых
для большинства, хотя и не всех, случаев.
Выбирайте тип файла либо для разделения его на части (нет двух процессов, просматривающих
одни и те же данные) или равным etype (всем процессам доступны одни и те же
данные).
Используйте смещение, чтобы пропустить информацию, отличную от той, которая
записыватся (например, заголовок). Обычно смещение одно и то же для всех процессов.
Когда файл разделен на части, используйте независимые указатели или явные смещения
- общие (shared) указатели не допускаются.
Используйте коллективные операции везде, где возможно, особенно с разделенными
файлами.