[dcmf] romio updates
Bob Cernohous
bobc at us.ibm.com
Thu Feb 14 10:36:06 CST 2008
robl at mcs.anl.gov (Robert Latham) wrote on 02/14/2008 10:08:03 AM:
> Do you mean aio_read/aio_write/aio_suspend/aio_error/aio_return are
> ENOSYS on BlueGene or are they just wrapers around blocking I/O?
We don't have <aio.h> so we followed the
#ifndef ROMIO_HAVE_WORKING_AOI and #ifndef HAVE_AIO_H paths.
I'm not sure if there are some wrappers buried somewhere in the code.
> The easiest thing to use is just ADIOI_FAKE_IreadContig and
> ADIOI_FAKE_IwriteContig, which will carry out ADIO_ReadContig and
> return an already-completed MPI request object.
I see the new ad_ufs does that and uses GEN done's:
+#ifdef ROMIO_HAVE_WORKING_AIO
ADIOI_GEN_IreadContig, /* IreadContig */
ADIOI_GEN_IwriteContig, /* IwriteContig */
+#else
+ ADIOI_FAKE_IreadContig, /* IreadContig */
+ ADIOI_FAKE_IwriteContig, /* IwriteContig */
+#endif
ADIOI_GEN_IODone, /* ReadDone */
ADIOI_GEN_IODone, /* WriteDone */
ADIOI_GEN_IOComplete, /* ReadComplete */
That seem reasonable?
I'm just not sure offhand if we're losing something without this "old
way"? or was it moot since we didn't support aio?
> old way: ROMIO implemented its own (incompatible) MPIO_Request
> objects. Instead of MPI_TEST/MPI_WAIT/etc, callers had to use
> MPIO_TEST and MPIO_WAIT. ROMIO did its own bookeeping.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alcf.anl.gov/pipermail/dcmf/attachments/20080214/7a469bf6/attachment.htm>
More information about the dcmf
mailing list