ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
          
        
        
          
            135
          
        
        
          
            Привязки для топологий процессов в языке Fortran
          
        
        
          MPI_CART_CREATE(COMM_OLD, NDIMS, DIMS, PERIODS, REORDER,
        
        
          COMM_CART,
        
        
          IERROR)
        
        
          INTEGER COMM_OLD, NDIMS, DIMS(*), COMM_CART, IERROR
        
        
          LOGICAL PERIODS(*), REORDER
        
        
          MPI_DIMS_CREATE(NNODES, NDIMS, DIMS, IERROR)
        
        
          INTEGER NNODES, NDIMS, DIMS(*), IERROR
        
        
          MPI_GRAPH_CREATE(COMM_OLD, NNODES, INDEX, EDGES, REORDER,
        
        
          COMM_GRAPH,
        
        
          IERROR)
        
        
          INTEGER COMM_OLD, NNODES, INDEX(*), EDGES(*), COMM_GRAPH, IERROR
        
        
          LOGICAL REORDER
        
        
          MPI_TOPO_TEST(COMM, STATUS, IERROR)
        
        
          INTEGER COMM, STATUS, IERROR
        
        
          MPI_GRAPHDIMS_GET(COMM, NNODES, NEDGES, IERROR)
        
        
          INTEGER COMM, NNODES, NEDGES, IERROR
        
        
          MPI_GRAPH_GET(COMM, MAXINDEX, MAXEDGES, INDEX, EDGES, IERROR)
        
        
          INTEGER COMM, MAXINDEX, MAXEDGES, INDEX(*), EDGES(*), IERROR
        
        
          MPI_CARTDIM_GET(COMM, NDIMS, IERROR)
        
        
          INTEGER COMM, NDIMS, IERROR
        
        
          MPI_CART_GET(COMM, MAXDIMS, DIMS, PERIODS, COORDS, IERROR)
        
        
          INTEGER COMM, MAXDIMS, DIMS(*), COORDS(*), IERROR
        
        
          LOGICAL PERIODS(*)
        
        
          MPI_CART_RANK(COMM, COORDS, RANK, IERROR)
        
        
          INTEGER COMM, COORDS(*), RANK, IERROR
        
        
          MPI_CART_COORDS(COMM, RANK, MAXDIMS, COORDS, IERROR)
        
        
          INTEGER COMM, RANK, MAXDIMS, COORDS(*), IERROR
        
        
          MPI_GRAPH_NEIGHBORS_COUNT(COMM, RANK, NNEIGHBORS, IERROR)
        
        
          INTEGER COMM, RANK, NNEIGHBORS, IERROR
        
        
          MPI_GRAPH_NEIGHBORS(COMM, RANK, MAXNEIGHBORS, NEIGHBORS, IERROR)
        
        
          INTEGER COMM, RANK, MAXNEIGHBORS, NEIGHBORS(*), IERROR
        
        
          MPI_CART_SHIFT(COMM, DIRECTION, DISP, RANK_SOURCE, RANK_DEST,
        
        
          IERROR)
        
        
          INTEGER COMM, DIRECTION, DISP, RANK_SOURCE, RANK_DEST, IERROR
        
        
          MPI_CART_SUB(COMM, REMAIN_DIMS, NEWCOMM, IERROR)
        
        
          INTEGER COMM, NEWCOMM, IERROR
        
        
          LOGICAL REMAIN_DIMS(*)