[ HPF Home | Versions | Compilers | Projects | Publications | Applications | Benchmarks | Events | Contact ] |
Next: Mapping Files
Up: Parallel I/O
Previous: Parallel I/O
Two ideas have been advanced which use the idea of giving hints to the compiler without changing the Fortran file semantics.
The first is based on the observation that although the distribution of an array when it is written may be available to the compiler or runtime system, the distribution into which that array will be read cannot generally be known, even though the programmer may have this knowledge. So the proposal is to provide on a write a hint about how the data will be read.
!HPF IO_DISTRIBUTE * :: a
WRITE a, b, c
!HPF
IO_DISTRIBUTE * :: b
When an array is written, it can be easily read back in the given
distribution. The annotation can be associated with either the
declaration or the write itself; in the first case it applies to all
writes of the array, while in the second it only applies to the one
statement. The intent is that meta-data is kept in the file system to
record the ``right'' data layout. The advantages of this proposal
include notation and efficiency.
The second proposal is to give hints about the physical layout (number of spins, record length, striping function, etc.) of the file when it is opened.
This uses the HPF array mapping mechanisms. (A file is a 1-dimensional array of records.) The syntax needs a ``name'' for the file ``template'': we suggest FILEMAP. The programmer can align/distribute FILEMAP (on I/O nodes), associate FILEMAP with a file on OPEN, etc. There are no changes in semantics or file system.
©2000-2006 Rice University | [ Contact Us | HiPerSoft | Computer Science ] |