第十一节 HPF外部函数认可的扩展 BACKWARD FORWARD


本节建立在第五节的基础上,为不同并行模型的HPF(LOCAL和SERIAL(11.1节))以及不同的语言HPF(11.3节),C(11.4节),和Fortran(11.5节)定义了专门的接口。11.7节中定义了在外部模型中有用的库例程。这些都是用Fortran捆绑定义的.实现时可选择定义使用C的类似例程.HPF外部机制的意图是为了一般化。这些定义可作为其它接口的一个模型。在附录C后给出了一些其它的外部接口。

在HPF1.1中,为HPF,HPF_LOCAL和HPF_SERIAL定义了专门的外部函数。还有关于Fortran90_Local的小段讨论。在这个更一般的设置中,为保证兼容性保留了HPF关键字。如第五节所定义的,HPF模型指的是全局语言,HPF_LOCAL与LANGUAGE="hpf",MODEL="LOCAL"相同,而HPF_SERIAL与LANGUAGE="hpf",MODEL="serial"相同。Fortran90_Local外部函数现在通过LANGUAGE="fortran"外部类来表示。

从调用者的角度,从一个“全局”HPF程序中引用一个外部过程与引用一个正规的过程具有相同的语义。而被调过程所看到的则是不同的。下列各节描述了不同外部选项中对于编码被调过程的一组惯例。由专门HPF编译器所支持的外部选项的集合是依赖于实现的。它们不限于本章所描述的那些内容。进一步讲,用于编译实际外部子程序的语言处理器无须是一个HPF编译器。更特殊地,只要所执行的外部代码符合为语言所定义的惯例,它实际上无须是LANGUAGE说明中所提到的语言的编译器。我们定义这些接口是为了促进可扩展型和互操作性,但是一个给定的实现和程序员可以任意创建模型和语言的其它组合。


Copyright: NPACT BACKWARD FORWARD