2.8.1 基本运行时程序的独立性 |
MPI程序要求库程序是基本语言环境( Fortran 中date 和 write, ANSI C中printf 和malloc )的一部分, 在MPI_INIT操作之后和在MPI_FINALIZE操作之前独立地执行库程序, MPI程序还要求库程序的完成独立于一个MPI程序中其他进程的行为。
注意这并不阻止一些提供并行的集合操作服务的库程序的创建。但是,不管MPI_COMM_WORLD( 假设在执行节点可得到I/O )的尺寸, 希望下列程序在ANSI C环境下完成。
int rank;
MPI_Init( argc, argv );
MPI_Comm_rank( MPI_COMM_WORLD, &rank );
if (rank == 0) printf( "Starting program" );
MPI_Finalize();
希望相应的Fortran 77 程序也能完成。
所不能要求的一个例子是由几个任务调用的一些程序的动作的特别排序。例如,MPI即不能从下例程序产生要求, 也不能推荐输出。( 仍假设在执行时可得到I/O )。
MPI_Comm_rank( MPI_COMM_WORLD, &rank );
printf( "Output from task rank %d", rank );
另外, 由于资源短缺或其他错误所造成的调用失败并不违背这儿的要求( 但是,要求他们完成, 而不是成功完成) 。
Copyright: NPACT |