Local HPF procedures can use any HPF intrinsic or library procedure.
(End of advice to implementors.)
In addition, local library procedures
GLOBAL_ALIGNMENT,
GLOBAL_DISTRIBUTION, and
GLOBAL_TEMPLATE
are provided to query
the global mapping of an actual argument to an extrinsic function.
Other local library procedures are provided to query the
size, shape, and array bounds of an actual argument.
These library procedures take as input the name of a dummy argument
and return information on the corresponding global HPF actual
argument. They may be invoked only by a local procedure that was
directly invoked by global HPF code. If module facilities are
available, they reside in a module called HPF_LOCAL_LIBRARY;
a local routine that calls them should include the statement
USE HPF_LOCAL_LIBRARY
or some functionally appropriate variant thereof.
The local HPF library identifies each physical processor by an integer
in the range to , where is the value returned
by the global HPF_LIBRARY function NUMBER_OF_PROCESSORS.
Processor
identifiers are returned by ABSTRACT_TO_PHYSICAL, which establishes
the one-to-one correspondence between the abstract processors
of an HPF processors
arrangement and the physical processors.
Also, the local library function
MY_PROCESSOR returns the identifier of the calling processor.