next up previous contents
Next: Summary Up: The FORTRAN 77 Local Library Previous: The FORTRAN 77 Local Library

Introduction

The basic constraints for the local model (Section 11.1) together with the F77_LOCAL-specific argument passing options (Section 11.6) define the nature of the F77_LOCAL interface: how control is to be transferred from a global HPF procedure to a set of local procedures described by an EXTRINSIC(F77_LOCAL) procedure interface and how data can be passed between these two types of procedures: by reference or by descriptor, and with or without temporary local reordering of data to satisfy FORTRAN 77 provisions for sequential, contiguous storage of array data in Fortran array element order. These alternative methods of argument passing can be obtained by use of the two special-purpose attributes for extrinsic dummy arguments defined for LANGUAGE="0DF77"0D routines: LAYOUT("0DF77_ARRAY"0D) (the default) vs. LAYOUT("0DHPF_ARRAY"0D), and PASS_BY("0D*"0D) (the default) vs. PASS_BY("0DHPF_HANDLE"0D). However, to take advantage of the option allowing one to pass global HPF array ``handles'' to local FORTRAN 77 procedures and then obtain information locally about how the local portion of a given parallel array is actually distributed requires special inquiry routines comparable to the HPF Local Library of functions. Since this library is not only described as a module, but uses many features such as array-valued functions and optional arguments not available in FORTRAN 77 code, it is recommended that a modified FORTRAN 77 interface to this library be provided in the manner described below. Furthermore, there is the problem of describing local portions of parallel arrays in the FORTRAN 77 code used in each local routine called from a global HPF one. Since assumed-shape syntax may not be used, explicit shape arrays are required. But it is common for global distribution of arbitrary sized arrays to result in local portions of arrays that do not have constant shapes on all processors, and the actual extents in each processor cannot necessarily be predicted in advance. In order to allow programmers to obtain axis extent information at run time from the HPF global caller, a special HPF-callable subgrid inquiry subroutine is provided. A FORTRAN 77 callable version of the same routine is also described below, for flexibility in programming.


next up previous contents
Next: Summary Up: The FORTRAN 77 Local Library Previous: The FORTRAN 77 Local Library