[ HPF Home | Versions | Compilers | Projects | Publications | Applications | Benchmarks | Events | Contact ] |
For language interface purposes, Fortran 77 is still essentially a subset of ANSI/ISO standard Fortran, so most considerations relating to HPF calling Fortran also apply to HPF calling Fortran 77 extrinsic procedures. However, two chief differences between Fortran and Fortran 77 complicate the specification of any EXTRINSIC(LANGUAGE="0DF77"0D), interface from HPF, especially for the local model:
In Fortran 77, the declaration of an array prescribes exactly the mapping of array elements to the linear sequence of storage locations. In HPF, the mapping of array elements to different processors may be controlled (e.g., with DISTRIBUTION and ALIGN directives) and queried (e.g., with HPF_ALIGNMENT, HPF_DISTRIBUTION, and HPF_TEMPLATE) but there is absolutely no information about how array elements on a given processor are organized within local, serial memory. Even in Fortran 90, assumed shape dummy arrays, for example, do not have to follow the same storage and sequence association rules as Fortran 77 arrays do.
Indeed, different HPF compilers may organize the data locally in different manners -- perhaps including border cells for ``stencil'' optimizations, or global padding to ensure equal-size subgrids on all processors. Certainly, different HPF compilers are not bound to organize local data in any particular manner, and some may choose imaginative orderings in such cases as SMP's, for example.
©2000-2006 Rice University | [ Contact Us | HiPerSoft | Computer Science ] |