[ HPF Home | Versions | Compilers | Projects | Publications | Applications | Benchmarks | Events | Contact ] |
Next: VIEW Directive
Up: High Performance Fortran Journal Previous: Overview
High Performance Fortran has exactly the same Input/Output facilities that are available in Fortran 90.
One of the High Performance Fortran Forum working groups was dedicated to I/O extensions for parallel machines. The objective was to define a set of extensions to standard Fortran 90 I/O which would provide high I/O performance on a massively parallel computer running HPF.
Three proposals in this spirit were offered. The basic idea of these proposals is outlined here and the proposals themselves appear in Section 13.
The HPFF voted not to include I/O extensions in the first version of the language. Arguments for this position include:
Moreover the current lack of extensions does not limit features that may be added by system vendors. In particular:
The proposals made to the I/O subgroup were based on the following observations:
The proposals were that HPF should provide explicit control to obtain high performance I/O. In essence the three proposals were:
!HPF IO_DISTRIBUTE * :: a
WRITE a, b, c
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 metadata is kept in the file system to
record the ``right'' data layout. The advantages of this proposal
include notation and efficiency.
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''; the proposal is to use 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.
PWRITE a PREAD a Data can be read back only into arrays of the same shape and mapping. Data written by PWRITE must be read by PREAD. This solution does not need metadata in the file system or changes in the file system but is incompatible with the standard READ and WRITE.
©2000-2006 Rice University | [ Contact Us | HiPerSoft | Computer Science ] |