[ HPF Home | Versions | Compilers | Projects | Publications | Applications | Benchmarks | Events | Contact ] |
Next: Node Directive
Up: Hints
Previous: Hints
A Fortran file is a sequence of records. We treat such file as a 1-D array of records with LB=1 and infinite UB. This array can be mapped to a (storage) node arrangement in a manner analogous to the mapping of an array to a (processor) node arrangement. Files are mapped using the same notation as for array mapping. The mapping defines a partition of the file, and each part is associated with one abstract node.
The mapping of a file to a node arrangement can be interpreted in two ways:
In both cases the file is mapped onto physical I/O devices so as to allow maximal concurrency for accesses directed to distinct parts of the file. If the second interpretation is used, then it is meaningful to align arrays and files onto the same templates.
We introduce a new filemap object. Filemaps are, essentially, named
files. They appear where an array name would appear in a array
mapping expression. An actual file is associated with a FILEMAP in an
OPEN statement. Filemaps are introduced because files are not first
class objects in FORTRAN (files are not declared). Also, Filemaps can
have rank 1, giving more flexibility in the types of mappings that
can be specified.
The following diagram illustrates the mapping
Node Physical storage File Filemap Template arrangement units (or caches) _ _ _ _ _ |_|-------->|_|-------->|_|-------->|_|------------>|_| OPEN ALIGN DISTRIBUTE Implementation Dependent
©2000-2006 Rice University | [ Contact Us | HiPerSoft | Computer Science ] |