next up previous
Next: Seek Up: ADIO Design Previous: Nonblocking Reads and

Collective Reads and Writes

void ADIO_ReadContigColl(ADIO_File fd, void *buf, int len, int file_ptr_type, ADIO_Offset offset, ADIO_Status *status, int *error_code)

void ADIO_ReadStridedColl(ADIO_File fd, void *buf, int count, MPI_Datatype datatype, int file_ptr_type, ADIO_Offset offset, ADIO_Status *status, int *error_code)

void ADIO_IreadContigColl(ADIO_File fd, void *buf, int len, int file_ptr_type, ADIO_Offset offset, ADIO_Request *request, int *error_code)

void ADIO_IreadStridedColl(ADIO_File fd, void *buf, int count, MPI_Datatype datatype, int file_ptr_type, ADIO_Offset offset, ADIO_Request *request, int *error_code)

Similarly ADIO_WriteContigColl, ADIO_WriteStridedColl, ADIO_IwriteStridedColl.

Several researchers have demonstrated that, for many common access patterns, collective I/O can greatly improve performance [3,24,14,21]. To enable the use of collective I/O, ADIO provides collective versions of all read/write routines. A collective routine must be called by all processes in the group that opened the file. However, a collective routine does not necessarily imply a barrier synchronization.



Rajeev Thakur
Mon Oct 14 18:36:34 CDT 1996