An extrinsic function is a function written in a language other than HPF including most naturally any node programming language (e.g. Fortran77) targeted to a single processor SPMD) with message passing such as MPI
|
HPF defines (Fortran90) interface and invocation characteristics
-
This defines what is input and output via INTENT and these rules must be obeyed by callee (non HPF side)
-
If variables are implicitly replicated, the callee must make them consistent before reurn i.e. callee must respect HPF model of parallelism
-
HPF will execute any remapping commands and hands callee the "right" part of any distributed arrays
-
All processors are synchronized before call to EXTRINSIC function
|
Allows one to get efficient parallel code where HPF language or compiler inadequate
-
Analogous to calling assembly language from Fortran, Native classes from Java, C from PERL etc.
|