root/ompi/mpi/fortran/use-mpi-tkr/mpi-f90-interfaces.h

/* [<][>][^][v][top][bottom][index][help] */
   1 ! -*- fortran -*-
   2 !
   3 ! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
   4 !                         University Research and Technology
   5 !                         Corporation.  All rights reserved.
   6 ! Copyright (c) 2004-2005 The University of Tennessee and The University
   7 !                         of Tennessee Research Foundation.  All rights
   8 !                         reserved.
   9 ! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
  10 !                         University of Stuttgart.  All rights reserved.
  11 ! Copyright (c) 2004-2005 The Regents of the University of California.
  12 !                         All rights reserved.
  13 ! Copyright (c) 2006-2014 Cisco Systems, Inc.  All rights reserved.
  14 ! Copyright (c) 2016-2018 Research Organization for Information Science
  15 !                         and Technology (RIST).  All rights reserved.
  16 ! $COPYRIGHT$
  17 !
  18 ! Additional copyrights may follow
  19 !
  20 ! $HEADER$
  21 !
  22 
  23 interface MPI_Wtick
  24 
  25 function MPI_Wtick()
  26     double precision MPI_Wtick
  27 end function MPI_Wtick
  28 
  29 end interface
  30 
  31 
  32 interface MPI_Wtime
  33 
  34 function MPI_Wtime()
  35     double precision MPI_Wtime
  36 end function MPI_Wtime
  37 
  38 end interface
  39 
  40 
  41 interface MPI_Abort
  42 
  43 subroutine MPI_Abort(comm, errorcode, ierror)
  44   integer, intent(in) :: comm
  45   integer, intent(in) :: errorcode
  46   integer, intent(out) :: ierror
  47 end subroutine MPI_Abort
  48 
  49 end interface
  50 
  51 
  52 interface MPI_Add_error_class
  53 
  54 subroutine MPI_Add_error_class(errorclass, ierror)
  55   integer, intent(out) :: errorclass
  56   integer, intent(out) :: ierror
  57 end subroutine MPI_Add_error_class
  58 
  59 end interface
  60 
  61 
  62 interface MPI_Add_error_code
  63 
  64 subroutine MPI_Add_error_code(errorclass, errorcode, ierror)
  65   integer, intent(in) :: errorclass
  66   integer, intent(out) :: errorcode
  67   integer, intent(out) :: ierror
  68 end subroutine MPI_Add_error_code
  69 
  70 end interface
  71 
  72 
  73 interface MPI_Add_error_string
  74 
  75 subroutine MPI_Add_error_string(errorcode, string, ierror)
  76   integer, intent(in) :: errorcode
  77   character(len=*), intent(in) :: string
  78   integer, intent(out) :: ierror
  79 end subroutine MPI_Add_error_string
  80 
  81 end interface
  82 
  83 interface MPI_Aint_add
  84 
  85 function MPI_Aint_add(base, diff)
  86   include 'mpif-config.h'
  87   integer(kind=MPI_ADDRESS_KIND), intent(in) :: base
  88   integer(kind=MPI_ADDRESS_KIND), intent(in) :: diff
  89   integer(kind=MPI_ADDRESS_KIND) MPI_Aint_add
  90 end function MPI_Aint_add
  91 
  92 end interface
  93 
  94 interface MPI_Aint_diff
  95 
  96 function MPI_Aint_diff(addr1, addr2)
  97   include 'mpif-config.h'
  98   integer(kind=MPI_ADDRESS_KIND), intent(in) :: addr1
  99   integer(kind=MPI_ADDRESS_KIND), intent(in) :: addr2
 100   integer(kind=MPI_ADDRESS_KIND) MPI_Aint_diff
 101 end function MPI_Aint_diff
 102 
 103 end interface
 104 
 105 
 106 interface MPI_Barrier
 107 
 108 subroutine MPI_Barrier(comm, ierror)
 109   integer, intent(in) :: comm
 110   integer, intent(out) :: ierror
 111 end subroutine MPI_Barrier
 112 
 113 end interface
 114 
 115 
 116 interface MPI_Ibarrier
 117 
 118 subroutine MPI_Ibarrier(comm, request, ierror)
 119   integer, intent(in) :: comm
 120   integer, intent(out) :: request
 121   integer, intent(out) :: ierror
 122 end subroutine MPI_Ibarrier
 123 
 124 end interface
 125 
 126 
 127 interface MPI_Cancel
 128 
 129 subroutine MPI_Cancel(request, ierror)
 130   integer, intent(in) :: request
 131   integer, intent(out) :: ierror
 132 end subroutine MPI_Cancel
 133 
 134 end interface
 135 
 136 
 137 interface MPI_Cart_coords
 138 
 139 subroutine MPI_Cart_coords(comm, rank, maxdims, coords, ierror)
 140   integer, intent(in) :: comm
 141   integer, intent(in) :: rank
 142   integer, intent(in) :: maxdims
 143   integer, dimension(*), intent(out) :: coords
 144   integer, intent(out) :: ierror
 145 end subroutine MPI_Cart_coords
 146 
 147 end interface
 148 
 149 
 150 interface MPI_Cart_create
 151 
 152 subroutine MPI_Cart_create(old_comm, ndims, dims, periods, reorder, &
 153         comm_cart, ierror)
 154   integer, intent(in) :: old_comm
 155   integer, intent(in) :: ndims
 156   integer, dimension(*), intent(in) :: dims
 157   logical, dimension(*), intent(in) :: periods
 158   logical, intent(in) :: reorder
 159   integer, intent(out) :: comm_cart
 160   integer, intent(out) :: ierror
 161 end subroutine MPI_Cart_create
 162 
 163 end interface
 164 
 165 
 166 interface MPI_Cart_get
 167 
 168 subroutine MPI_Cart_get(comm, maxdims, dims, periods, coords&
 169         , ierror)
 170   integer, intent(in) :: comm
 171   integer, intent(in) :: maxdims
 172   integer, dimension(*), intent(out) :: dims
 173   logical, dimension(*), intent(out) :: periods
 174   integer, dimension(*), intent(out) :: coords
 175   integer, intent(out) :: ierror
 176 end subroutine MPI_Cart_get
 177 
 178 end interface
 179 
 180 
 181 interface MPI_Cart_map
 182 
 183 subroutine MPI_Cart_map(comm, ndims, dims, periods, newrank&
 184         , ierror)
 185   integer, intent(in) :: comm
 186   integer, intent(in) :: ndims
 187   integer, dimension(*), intent(in) :: dims
 188   logical, dimension(*), intent(in) :: periods
 189   integer, intent(out) :: newrank
 190   integer, intent(out) :: ierror
 191 end subroutine MPI_Cart_map
 192 
 193 end interface
 194 
 195 
 196 interface MPI_Cart_rank
 197 
 198 subroutine MPI_Cart_rank(comm, coords, rank, ierror)
 199   integer, intent(in) :: comm
 200   integer, dimension(*), intent(in) :: coords
 201   integer, intent(out) :: rank
 202   integer, intent(out) :: ierror
 203 end subroutine MPI_Cart_rank
 204 
 205 end interface
 206 
 207 
 208 interface MPI_Cart_shift
 209 
 210 subroutine MPI_Cart_shift(comm, direction, disp, rank_source, rank_dest&
 211         , ierror)
 212   integer, intent(in) :: comm
 213   integer, intent(in) :: direction
 214   integer, intent(in) :: disp
 215   integer, intent(out) :: rank_source
 216   integer, intent(out) :: rank_dest
 217   integer, intent(out) :: ierror
 218 end subroutine MPI_Cart_shift
 219 
 220 end interface
 221 
 222 
 223 interface MPI_Cart_sub
 224 
 225 subroutine MPI_Cart_sub(comm, remain_dims, new_comm, ierror)
 226   integer, intent(in) :: comm
 227   logical, dimension(*), intent(in) :: remain_dims
 228   integer, intent(out) :: new_comm
 229   integer, intent(out) :: ierror
 230 end subroutine MPI_Cart_sub
 231 
 232 end interface
 233 
 234 
 235 interface MPI_Cartdim_get
 236 
 237 subroutine MPI_Cartdim_get(comm, ndims, ierror)
 238   integer, intent(in) :: comm
 239   integer, intent(out) :: ndims
 240   integer, intent(out) :: ierror
 241 end subroutine MPI_Cartdim_get
 242 
 243 end interface
 244 
 245 
 246 interface MPI_Comm_call_errhandler
 247 
 248 subroutine MPI_Comm_call_errhandler(comm, errorcode, ierror)
 249   integer, intent(in) :: comm
 250   integer, intent(in) :: errorcode
 251   integer, intent(out) :: ierror
 252 end subroutine MPI_Comm_call_errhandler
 253 
 254 end interface
 255 
 256 
 257 interface MPI_Comm_compare
 258 
 259 subroutine MPI_Comm_compare(comm1, comm2, result, ierror)
 260   integer, intent(in) :: comm1
 261   integer, intent(in) :: comm2
 262   integer, intent(out) :: result
 263   integer, intent(out) :: ierror
 264 end subroutine MPI_Comm_compare
 265 
 266 end interface
 267 
 268 
 269 interface MPI_Comm_create
 270 
 271 subroutine MPI_Comm_create(comm, group, newcomm, ierror)
 272   integer, intent(in) :: comm
 273   integer, intent(in) :: group
 274   integer, intent(out) :: newcomm
 275   integer, intent(out) :: ierror
 276 end subroutine MPI_Comm_create
 277 
 278 end interface
 279 
 280 
 281 interface MPI_Comm_create_group
 282 
 283 subroutine MPI_Comm_create_group(comm, group, tag, newcomm, ierror)
 284   integer, intent(in) :: comm
 285   integer, intent(in) :: group
 286   integer, intent(in) :: tag
 287   integer, intent(out) :: newcomm
 288   integer, intent(out) :: ierror
 289 end subroutine MPI_Comm_create_group
 290 
 291 end interface
 292 
 293 
 294 interface MPI_Comm_create_errhandler
 295 
 296 subroutine MPI_Comm_create_errhandler(function, errhandler, ierror)
 297   external :: function
 298   integer, intent(out) :: errhandler
 299   integer, intent(out) :: ierror
 300 end subroutine MPI_Comm_create_errhandler
 301 
 302 end interface
 303 
 304 
 305 interface MPI_Comm_create_keyval
 306 
 307 subroutine MPI_Comm_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval, extra_state, ierror)
 308   include 'mpif-config.h'
 309   external :: comm_copy_attr_fn
 310   external :: comm_delete_attr_fn
 311   integer, intent(out) :: comm_keyval
 312   integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
 313   integer, intent(out) :: ierror
 314 end subroutine MPI_Comm_create_keyval
 315 
 316 end interface
 317 
 318 
 319 interface MPI_Comm_delete_attr
 320 
 321 subroutine MPI_Comm_delete_attr(comm, comm_keyval, ierror)
 322   integer, intent(in) :: comm
 323   integer, intent(in) :: comm_keyval
 324   integer, intent(out) :: ierror
 325 end subroutine MPI_Comm_delete_attr
 326 
 327 end interface
 328 
 329 
 330 interface MPI_Comm_dup
 331 
 332 subroutine MPI_Comm_dup(comm, newcomm, ierror)
 333   integer, intent(in) :: comm
 334   integer, intent(out) :: newcomm
 335   integer, intent(out) :: ierror
 336 end subroutine MPI_Comm_dup
 337 
 338 end interface
 339 
 340 
 341 interface MPI_Comm_dup_with_info
 342 
 343 subroutine MPI_Comm_dup_with_info(comm, info, newcomm, ierror)
 344   integer, intent(in) :: comm
 345   integer, intent(in) :: info
 346   integer, intent(out) :: newcomm
 347   integer, intent(out) :: ierror
 348 end subroutine MPI_Comm_dup_with_info
 349 
 350 end interface
 351 
 352 
 353 interface MPI_Comm_idup
 354 
 355 subroutine MPI_Comm_idup(comm, newcomm, request, ierror)
 356   integer, intent(in) :: comm
 357   integer, intent(out) :: newcomm
 358   integer, intent(out) :: request
 359   integer, intent(out) :: ierror
 360 end subroutine MPI_Comm_idup
 361 
 362 end interface
 363 
 364 
 365 interface MPI_Comm_free
 366 
 367 subroutine MPI_Comm_free(comm, ierror)
 368   integer, intent(inout) :: comm
 369   integer, intent(out) :: ierror
 370 end subroutine MPI_Comm_free
 371 
 372 end interface
 373 
 374 
 375 interface MPI_Comm_free_keyval
 376 
 377 subroutine MPI_Comm_free_keyval(comm_keyval, ierror)
 378   integer, intent(inout) :: comm_keyval
 379   integer, intent(out) :: ierror
 380 end subroutine MPI_Comm_free_keyval
 381 
 382 end interface
 383 
 384 
 385 interface MPI_Comm_get_info
 386 
 387 subroutine MPI_Comm_get_info(comm, info_used, ierror)
 388   include 'mpif-config.h'
 389   integer, intent(in) :: comm
 390   integer, intent(out) :: info_used
 391   integer, intent(out) :: ierror
 392 end subroutine MPI_Comm_get_info
 393 
 394 end interface
 395 
 396 
 397 interface MPI_Comm_get_attr
 398 
 399 subroutine MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag, ierror)
 400   include 'mpif-config.h'
 401   integer, intent(in) :: comm
 402   integer, intent(in) :: comm_keyval
 403   integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
 404   logical, intent(out) :: flag
 405   integer, intent(out) :: ierror
 406 end subroutine MPI_Comm_get_attr
 407 
 408 end interface
 409 
 410 
 411 interface MPI_Comm_get_errhandler
 412 
 413 subroutine MPI_Comm_get_errhandler(comm, erhandler, ierror)
 414   integer, intent(in) :: comm
 415   integer, intent(out) :: erhandler
 416   integer, intent(out) :: ierror
 417 end subroutine MPI_Comm_get_errhandler
 418 
 419 end interface
 420 
 421 
 422 interface MPI_Comm_get_name
 423 
 424 subroutine MPI_Comm_get_name(comm, comm_name, resultlen, ierror)
 425   integer, intent(in) :: comm
 426   character(len=*), intent(out) :: comm_name
 427   integer, intent(out) :: resultlen
 428   integer, intent(out) :: ierror
 429 end subroutine MPI_Comm_get_name
 430 
 431 end interface
 432 
 433 
 434 interface MPI_Comm_group
 435 
 436 subroutine MPI_Comm_group(comm, group, ierror)
 437   integer, intent(in) :: comm
 438   integer, intent(out) :: group
 439   integer, intent(out) :: ierror
 440 end subroutine MPI_Comm_group
 441 
 442 end interface
 443 
 444 
 445 interface MPI_Comm_rank
 446 
 447 subroutine MPI_Comm_rank(comm, rank, ierror)
 448   integer, intent(in) :: comm
 449   integer, intent(out) :: rank
 450   integer, intent(out) :: ierror
 451 end subroutine MPI_Comm_rank
 452 
 453 end interface
 454 
 455 
 456 interface MPI_Comm_remote_group
 457 
 458 subroutine MPI_Comm_remote_group(comm, group, ierror)
 459   integer, intent(in) :: comm
 460   integer, intent(out) :: group
 461   integer, intent(out) :: ierror
 462 end subroutine MPI_Comm_remote_group
 463 
 464 end interface
 465 
 466 
 467 interface MPI_Comm_remote_size
 468 
 469 subroutine MPI_Comm_remote_size(comm, size, ierror)
 470   integer, intent(in) :: comm
 471   integer, intent(out) :: size
 472   integer, intent(out) :: ierror
 473 end subroutine MPI_Comm_remote_size
 474 
 475 end interface
 476 
 477 
 478 interface MPI_Comm_set_info
 479 
 480 subroutine MPI_Comm_set_info(comm, info, ierror)
 481   include 'mpif-config.h'
 482   integer, intent(in) :: comm
 483   integer, intent(in) :: info
 484   integer, intent(out) :: ierror
 485 end subroutine MPI_Comm_set_info
 486 
 487 end interface
 488 
 489 
 490 interface MPI_Comm_set_attr
 491 
 492 subroutine MPI_Comm_set_attr(comm, comm_keyval, attribute_val, ierror)
 493   include 'mpif-config.h'
 494   integer, intent(in) :: comm
 495   integer, intent(in) :: comm_keyval
 496   integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val
 497   integer, intent(out) :: ierror
 498 end subroutine MPI_Comm_set_attr
 499 
 500 end interface
 501 
 502 
 503 interface MPI_Comm_set_errhandler
 504 
 505 subroutine MPI_Comm_set_errhandler(comm, errhandler, ierror)
 506   integer, intent(in) :: comm
 507   integer, intent(in) :: errhandler
 508   integer, intent(out) :: ierror
 509 end subroutine MPI_Comm_set_errhandler
 510 
 511 end interface
 512 
 513 
 514 interface MPI_Comm_set_name
 515 
 516 subroutine MPI_Comm_set_name(comm, comm_name, ierror)
 517   integer, intent(in) :: comm
 518   character(len=*), intent(in) :: comm_name
 519   integer, intent(out) :: ierror
 520 end subroutine MPI_Comm_set_name
 521 
 522 end interface
 523 
 524 
 525 interface MPI_Comm_size
 526 
 527 subroutine MPI_Comm_size(comm, size, ierror)
 528   integer, intent(in) :: comm
 529   integer, intent(out) :: size
 530   integer, intent(out) :: ierror
 531 end subroutine MPI_Comm_size
 532 
 533 end interface
 534 
 535 
 536 interface MPI_Comm_split
 537 
 538 subroutine MPI_Comm_split(comm, color, key, newcomm, ierror)
 539   integer, intent(in) :: comm
 540   integer, intent(in) :: color
 541   integer, intent(in) :: key
 542   integer, intent(out) :: newcomm
 543   integer, intent(out) :: ierror
 544 end subroutine MPI_Comm_split
 545 
 546 end interface
 547 
 548 
 549 interface MPI_Comm_test_inter
 550 
 551 subroutine MPI_Comm_test_inter(comm, flag, ierror)
 552   integer, intent(in) :: comm
 553   logical, intent(out) :: flag
 554   integer, intent(out) :: ierror
 555 end subroutine MPI_Comm_test_inter
 556 
 557 end interface
 558 
 559 
 560 interface MPI_Dims_create
 561 
 562 subroutine MPI_Dims_create(nnodes, ndims, dims, ierror)
 563   integer, intent(in) :: nnodes
 564   integer, intent(in) :: ndims
 565   integer, dimension(*), intent(inout) :: dims
 566   integer, intent(out) :: ierror
 567 end subroutine MPI_Dims_create
 568 
 569 end interface
 570 
 571 
 572 interface MPI_Errhandler_free
 573 
 574 subroutine MPI_Errhandler_free(errhandler, ierror)
 575   integer, intent(inout) :: errhandler
 576   integer, intent(out) :: ierror
 577 end subroutine MPI_Errhandler_free
 578 
 579 end interface
 580 
 581 
 582 interface MPI_Error_class
 583 
 584 subroutine MPI_Error_class(errorcode, errorclass, ierror)
 585   integer, intent(in) :: errorcode
 586   integer, intent(out) :: errorclass
 587   integer, intent(out) :: ierror
 588 end subroutine MPI_Error_class
 589 
 590 end interface
 591 
 592 
 593 interface MPI_Error_string
 594 
 595 subroutine MPI_Error_string(errorcode, string, resultlen, ierror)
 596   integer, intent(in) :: errorcode
 597   character(len=*), intent(out) :: string
 598   integer, intent(out) :: resultlen
 599   integer, intent(out) :: ierror
 600 end subroutine MPI_Error_string
 601 
 602 end interface
 603 
 604 
 605 interface MPI_Finalize
 606 
 607 subroutine MPI_Finalize(ierror)
 608   integer, intent(out) :: ierror
 609 end subroutine MPI_Finalize
 610 
 611 end interface
 612 
 613 
 614 interface MPI_Finalized
 615 
 616 subroutine MPI_Finalized(flag, ierror)
 617   logical, intent(out) :: flag
 618   integer, intent(out) :: ierror
 619 end subroutine MPI_Finalized
 620 
 621 end interface
 622 
 623 
 624 interface MPI_Get_count
 625 
 626 subroutine MPI_Get_count(status, datatype, count, ierror)
 627   include 'mpif-config.h'
 628   integer, dimension(MPI_STATUS_SIZE), intent(in) :: status
 629   integer, intent(in) :: datatype
 630   integer, intent(out) :: count
 631   integer, intent(out) :: ierror
 632 end subroutine MPI_Get_count
 633 
 634 end interface
 635 
 636 
 637 interface MPI_Get_elements
 638 
 639 subroutine MPI_Get_elements(status, datatype, count, ierror)
 640   include 'mpif-config.h'
 641   integer, dimension(MPI_STATUS_SIZE), intent(in) :: status
 642   integer, intent(in) :: datatype
 643   integer, intent(out) :: count
 644   integer, intent(out) :: ierror
 645 end subroutine MPI_Get_elements
 646 
 647 end interface
 648 
 649 
 650 interface MPI_Get_elements_x
 651 
 652 subroutine MPI_Get_elements_x(status, datatype, count, ierror)
 653   include 'mpif-config.h'
 654   integer, dimension(MPI_STATUS_SIZE), intent(in) :: status
 655   integer, intent(in) :: datatype
 656   integer(kind=MPI_COUNT_KIND), intent(out) :: count
 657   integer, intent(out) :: ierror
 658 end subroutine MPI_Get_elements_x
 659 
 660 end interface
 661 
 662 
 663 interface MPI_Get_processor_name
 664 
 665 subroutine MPI_Get_processor_name(name, resultlen, ierror)
 666   character(len=*), intent(out) :: name
 667   integer, intent(out) :: resultlen
 668   integer, intent(out) :: ierror
 669 end subroutine MPI_Get_processor_name
 670 
 671 end interface
 672 
 673 
 674 interface MPI_Get_version
 675 
 676 subroutine MPI_Get_version(version, subversion, ierror)
 677   integer, intent(out) :: version
 678   integer, intent(out) :: subversion
 679   integer, intent(out) :: ierror
 680 end subroutine MPI_Get_version
 681 
 682 end interface
 683 
 684 
 685 interface MPI_Graph_create
 686 
 687 subroutine MPI_Graph_create(comm_old, nnodes, index, edges, reorder, &
 688         comm_graph, ierror)
 689   integer, intent(in) :: comm_old
 690   integer, intent(in) :: nnodes
 691   integer, dimension(*), intent(in) :: index
 692   integer, dimension(*), intent(in) :: edges
 693   logical, intent(in) :: reorder
 694   integer, intent(out) :: comm_graph
 695   integer, intent(out) :: ierror
 696 end subroutine MPI_Graph_create
 697 
 698 end interface
 699 
 700 
 701 interface MPI_Graph_get
 702 
 703 subroutine MPI_Graph_get(comm, maxindex, maxedges, index, edges&
 704         , ierror)
 705   integer, intent(in) :: comm
 706   integer, intent(in) :: maxindex
 707   integer, intent(in) :: maxedges
 708   integer, dimension(*), intent(out) :: index
 709   integer, dimension(*), intent(out) :: edges
 710   integer, intent(out) :: ierror
 711 end subroutine MPI_Graph_get
 712 
 713 end interface
 714 
 715 
 716 interface MPI_Graph_map
 717 
 718 subroutine MPI_Graph_map(comm, nnodes, index, edges, newrank&
 719         , ierror)
 720   integer, intent(in) :: comm
 721   integer, intent(in) :: nnodes
 722   integer, dimension(*), intent(in) :: index
 723   integer, dimension(*), intent(in) :: edges
 724   integer, intent(out) :: newrank
 725   integer, intent(out) :: ierror
 726 end subroutine MPI_Graph_map
 727 
 728 end interface
 729 
 730 
 731 interface MPI_Graph_neighbors
 732 
 733 subroutine MPI_Graph_neighbors(comm, rank, maxneighbors, neighbors, ierror)
 734   integer, intent(in) :: comm
 735   integer, intent(in) :: rank
 736   integer, intent(in) :: maxneighbors
 737   integer, dimension(*), intent(out) :: neighbors
 738   integer, intent(out) :: ierror
 739 end subroutine MPI_Graph_neighbors
 740 
 741 end interface
 742 
 743 
 744 interface MPI_Graph_neighbors_count
 745 
 746 subroutine MPI_Graph_neighbors_count(comm, rank, nneighbors, ierror)
 747   integer, intent(in) :: comm
 748   integer, intent(in) :: rank
 749   integer, intent(out) :: nneighbors
 750   integer, intent(out) :: ierror
 751 end subroutine MPI_Graph_neighbors_count
 752 
 753 end interface
 754 
 755 
 756 interface MPI_Graphdims_get
 757 
 758 subroutine MPI_Graphdims_get(comm, nnodes, nedges, ierror)
 759   integer, intent(in) :: comm
 760   integer, intent(out) :: nnodes
 761   integer, intent(out) :: nedges
 762   integer, intent(out) :: ierror
 763 end subroutine MPI_Graphdims_get
 764 
 765 end interface
 766 
 767 
 768 interface MPI_Grequest_complete
 769 
 770 subroutine MPI_Grequest_complete(request, ierror)
 771   integer, intent(in) :: request
 772   integer, intent(out) :: ierror
 773 end subroutine MPI_Grequest_complete
 774 
 775 end interface
 776 
 777 
 778 interface MPI_Grequest_start
 779 
 780 subroutine MPI_Grequest_start(query_fn, free_fn, cancel_fn, extra_state, request&
 781         , ierror)
 782   include 'mpif-config.h'
 783   external :: query_fn
 784   external :: free_fn
 785   external :: cancel_fn
 786   integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
 787   integer, intent(out) :: request
 788   integer, intent(out) :: ierror
 789 end subroutine MPI_Grequest_start
 790 
 791 end interface
 792 
 793 
 794 interface MPI_Group_compare
 795 
 796 subroutine MPI_Group_compare(group1, group2, result, ierror)
 797   integer, intent(in) :: group1
 798   integer, intent(in) :: group2
 799   integer, intent(out) :: result
 800   integer, intent(out) :: ierror
 801 end subroutine MPI_Group_compare
 802 
 803 end interface
 804 
 805 
 806 interface MPI_Group_difference
 807 
 808 subroutine MPI_Group_difference(group1, group2, newgroup, ierror)
 809   integer, intent(in) :: group1
 810   integer, intent(in) :: group2
 811   integer, intent(out) :: newgroup
 812   integer, intent(out) :: ierror
 813 end subroutine MPI_Group_difference
 814 
 815 end interface
 816 
 817 
 818 interface MPI_Group_excl
 819 
 820 subroutine MPI_Group_excl(group, n, ranks, newgroup, ierror)
 821   integer, intent(in) :: group
 822   integer, intent(in) :: n
 823   integer, dimension(*), intent(in) :: ranks
 824   integer, intent(out) :: newgroup
 825   integer, intent(out) :: ierror
 826 end subroutine MPI_Group_excl
 827 
 828 end interface
 829 
 830 
 831 interface MPI_Group_free
 832 
 833 subroutine MPI_Group_free(group, ierror)
 834   integer, intent(inout) :: group
 835   integer, intent(out) :: ierror
 836 end subroutine MPI_Group_free
 837 
 838 end interface
 839 
 840 
 841 interface MPI_Group_incl
 842 
 843 subroutine MPI_Group_incl(group, n, ranks, newgroup, ierror)
 844   integer, intent(in) :: group
 845   integer, intent(in) :: n
 846   integer, dimension(*), intent(in) :: ranks
 847   integer, intent(out) :: newgroup
 848   integer, intent(out) :: ierror
 849 end subroutine MPI_Group_incl
 850 
 851 end interface
 852 
 853 
 854 interface MPI_Group_intersection
 855 
 856 subroutine MPI_Group_intersection(group1, group2, newgroup, ierror)
 857   integer, intent(in) :: group1
 858   integer, intent(in) :: group2
 859   integer, intent(out) :: newgroup
 860   integer, intent(out) :: ierror
 861 end subroutine MPI_Group_intersection
 862 
 863 end interface
 864 
 865 
 866 interface MPI_Group_range_excl
 867 
 868 subroutine MPI_Group_range_excl(group, n, ranges, newgroup, ierror)
 869   integer, intent(in) :: group
 870   integer, intent(in) :: n
 871   integer, dimension(3, *), intent(in) :: ranges
 872   integer, intent(out) :: newgroup
 873   integer, intent(out) :: ierror
 874 end subroutine MPI_Group_range_excl
 875 
 876 end interface
 877 
 878 
 879 interface MPI_Group_range_incl
 880 
 881 subroutine MPI_Group_range_incl(group, n, ranges, newgroup, ierror)
 882   integer, intent(in) :: group
 883   integer, intent(in) :: n
 884   integer, dimension(3, *), intent(in) :: ranges
 885   integer, intent(out) :: newgroup
 886   integer, intent(out) :: ierror
 887 end subroutine MPI_Group_range_incl
 888 
 889 end interface
 890 
 891 
 892 interface MPI_Group_rank
 893 
 894 subroutine MPI_Group_rank(group, rank, ierror)
 895   integer, intent(in) :: group
 896   integer, intent(out) :: rank
 897   integer, intent(out) :: ierror
 898 end subroutine MPI_Group_rank
 899 
 900 end interface
 901 
 902 
 903 interface MPI_Group_size
 904 
 905 subroutine MPI_Group_size(group, size, ierror)
 906   integer, intent(in) :: group
 907   integer, intent(out) :: size
 908   integer, intent(out) :: ierror
 909 end subroutine MPI_Group_size
 910 
 911 end interface
 912 
 913 
 914 interface MPI_Group_translate_ranks
 915 
 916 subroutine MPI_Group_translate_ranks(group1, n, ranks1, group2, ranks2&
 917         , ierror)
 918   integer, intent(in) :: group1
 919   integer, intent(in) :: n
 920   integer, dimension(*), intent(in) :: ranks1
 921   integer, intent(in) :: group2
 922   integer, dimension(*), intent(out) :: ranks2
 923   integer, intent(out) :: ierror
 924 end subroutine MPI_Group_translate_ranks
 925 
 926 end interface
 927 
 928 
 929 interface MPI_Group_union
 930 
 931 subroutine MPI_Group_union(group1, group2, newgroup, ierror)
 932   integer, intent(in) :: group1
 933   integer, intent(in) :: group2
 934   integer, intent(out) :: newgroup
 935   integer, intent(out) :: ierror
 936 end subroutine MPI_Group_union
 937 
 938 end interface
 939 
 940 
 941 interface MPI_Info_create
 942 
 943 subroutine MPI_Info_create(info, ierror)
 944   integer, intent(out) :: info
 945   integer, intent(out) :: ierror
 946 end subroutine MPI_Info_create
 947 
 948 end interface
 949 
 950 
 951 interface MPI_Info_delete
 952 
 953 subroutine MPI_Info_delete(info, key, ierror)
 954   integer, intent(in) :: info
 955   character(len=*), intent(in) :: key
 956   integer, intent(out) :: ierror
 957 end subroutine MPI_Info_delete
 958 
 959 end interface
 960 
 961 
 962 interface MPI_Info_dup
 963 
 964 subroutine MPI_Info_dup(info, newinfo, ierror)
 965   integer, intent(in) :: info
 966   integer, intent(out) :: newinfo
 967   integer, intent(out) :: ierror
 968 end subroutine MPI_Info_dup
 969 
 970 end interface
 971 
 972 
 973 interface MPI_Info_free
 974 
 975 subroutine MPI_Info_free(info, ierror)
 976   integer, intent(inout) :: info
 977   integer, intent(out) :: ierror
 978 end subroutine MPI_Info_free
 979 
 980 end interface
 981 
 982 
 983 interface MPI_Info_get
 984 
 985 subroutine MPI_Info_get(info, key, valuelen, value, flag&
 986         , ierror)
 987   integer, intent(in) :: info
 988   character(len=*), intent(in) :: key
 989   integer, intent(in) :: valuelen
 990   character(len=*), intent(out) :: value
 991   logical, intent(out) :: flag
 992   integer, intent(out) :: ierror
 993 end subroutine MPI_Info_get
 994 
 995 end interface
 996 
 997 
 998 interface MPI_Info_get_nkeys
 999 
1000 subroutine MPI_Info_get_nkeys(info, nkeys, ierror)
1001   integer, intent(in) :: info
1002   integer, intent(out) :: nkeys
1003   integer, intent(out) :: ierror
1004 end subroutine MPI_Info_get_nkeys
1005 
1006 end interface
1007 
1008 
1009 interface MPI_Info_get_nthkey
1010 
1011 subroutine MPI_Info_get_nthkey(info, n, key, ierror)
1012   integer, intent(in) :: info
1013   integer, intent(in) :: n
1014   character(len=*), intent(out) :: key
1015   integer, intent(out) :: ierror
1016 end subroutine MPI_Info_get_nthkey
1017 
1018 end interface
1019 
1020 
1021 interface MPI_Info_get_valuelen
1022 
1023 subroutine MPI_Info_get_valuelen(info, key, valuelen, flag, ierror)
1024   integer, intent(in) :: info
1025   character(len=*), intent(in) :: key
1026   integer, intent(out) :: valuelen
1027   logical, intent(out) :: flag
1028   integer, intent(out) :: ierror
1029 end subroutine MPI_Info_get_valuelen
1030 
1031 end interface
1032 
1033 
1034 interface MPI_Info_set
1035 
1036 subroutine MPI_Info_set(info, key, value, ierror)
1037   integer, intent(in) :: info
1038   character(len=*), intent(in) :: key
1039   character(len=*), intent(in) :: value
1040   integer, intent(out) :: ierror
1041 end subroutine MPI_Info_set
1042 
1043 end interface
1044 
1045 
1046 interface MPI_Init
1047 
1048 subroutine MPI_Init(ierror)
1049   integer, intent(out) :: ierror
1050 end subroutine MPI_Init
1051 
1052 end interface
1053 
1054 
1055 interface MPI_Init_thread
1056 
1057 subroutine MPI_Init_thread(required, provided, ierror)
1058   integer, intent(in) :: required
1059   integer, intent(out) :: provided
1060   integer, intent(out) :: ierror
1061 end subroutine MPI_Init_thread
1062 
1063 end interface
1064 
1065 
1066 interface MPI_Initialized
1067 
1068 subroutine MPI_Initialized(flag, ierror)
1069   logical, intent(out) :: flag
1070   integer, intent(out) :: ierror
1071 end subroutine MPI_Initialized
1072 
1073 end interface
1074 
1075 
1076 interface MPI_Intercomm_create
1077 
1078 subroutine MPI_Intercomm_create(local_comm, local_leader, bridge_comm, remote_leader, tag, &
1079         newintercomm, ierror)
1080   integer, intent(in) :: local_comm
1081   integer, intent(in) :: local_leader
1082   integer, intent(in) :: bridge_comm
1083   integer, intent(in) :: remote_leader
1084   integer, intent(in) :: tag
1085   integer, intent(out) :: newintercomm
1086   integer, intent(out) :: ierror
1087 end subroutine MPI_Intercomm_create
1088 
1089 end interface
1090 
1091 
1092 interface MPI_Intercomm_merge
1093 
1094 subroutine MPI_Intercomm_merge(intercomm, high, newintercomm, ierror)
1095   integer, intent(in) :: intercomm
1096   logical, intent(in) :: high
1097   integer, intent(out) :: newintercomm
1098   integer, intent(out) :: ierror
1099 end subroutine MPI_Intercomm_merge
1100 
1101 end interface
1102 
1103 
1104 interface MPI_Iprobe
1105 
1106 subroutine MPI_Iprobe(source, tag, comm, flag, status&
1107         , ierror)
1108   include 'mpif-config.h'
1109   integer, intent(in) :: source
1110   integer, intent(in) :: tag
1111   integer, intent(in) :: comm
1112   logical, intent(out) :: flag
1113   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1114   integer, intent(out) :: ierror
1115 end subroutine MPI_Iprobe
1116 
1117 end interface
1118 
1119 
1120 interface MPI_Is_thread_main
1121 
1122 subroutine MPI_Is_thread_main(flag, ierror)
1123   logical, intent(out) :: flag
1124   integer, intent(out) :: ierror
1125 end subroutine MPI_Is_thread_main
1126 
1127 end interface
1128 
1129 
1130 interface MPI_Op_commutative
1131 
1132 subroutine MPI_Op_commutative(op, commute, ierror)
1133   integer, intent(in) :: op
1134   logical, intent(out) :: commute
1135   integer, intent(out) :: ierror
1136 end subroutine MPI_Op_commutative
1137 
1138 end interface
1139 
1140 
1141 interface MPI_Op_create
1142 
1143 subroutine MPI_Op_create(function, commute, op, ierror)
1144   external :: function
1145   logical, intent(in) :: commute
1146   integer, intent(out) :: op
1147   integer, intent(out) :: ierror
1148 end subroutine MPI_Op_create
1149 
1150 end interface
1151 
1152 
1153 interface MPI_Op_free
1154 
1155 subroutine MPI_Op_free(op, ierror)
1156   integer, intent(inout) :: op
1157   integer, intent(out) :: ierror
1158 end subroutine MPI_Op_free
1159 
1160 end interface
1161 
1162 
1163 interface MPI_Pack_external_size
1164 
1165 subroutine MPI_Pack_external_size(datarep, incount, datatype, size, ierror)
1166   include 'mpif-config.h'
1167   character(len=*), intent(in) :: datarep
1168   integer, intent(in) :: incount
1169   integer, intent(in) :: datatype
1170   integer(kind=MPI_ADDRESS_KIND), intent(out) :: size
1171   integer, intent(out) :: ierror
1172 end subroutine MPI_Pack_external_size
1173 
1174 end interface
1175 
1176 
1177 interface MPI_Pack_size
1178 
1179 subroutine MPI_Pack_size(incount, datatype, comm, size, ierror)
1180   integer, intent(in) :: incount
1181   integer, intent(in) :: datatype
1182   integer, intent(in) :: comm
1183   integer, intent(out) :: size
1184   integer, intent(out) :: ierror
1185 end subroutine MPI_Pack_size
1186 
1187 end interface
1188 
1189 
1190 interface MPI_Pcontrol
1191 
1192 subroutine MPI_Pcontrol(level)
1193   integer, intent(in) :: level
1194 
1195 end subroutine MPI_Pcontrol
1196 
1197 end interface
1198 
1199 
1200 interface MPI_Probe
1201 
1202 subroutine MPI_Probe(source, tag, comm, status, ierror)
1203   include 'mpif-config.h'
1204   integer, intent(in) :: source
1205   integer, intent(in) :: tag
1206   integer, intent(in) :: comm
1207   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1208   integer, intent(out) :: ierror
1209 end subroutine MPI_Probe
1210 
1211 end interface
1212 
1213 
1214 interface MPI_Query_thread
1215 
1216 subroutine MPI_Query_thread(provided, ierror)
1217   integer, intent(out) :: provided
1218   integer, intent(out) :: ierror
1219 end subroutine MPI_Query_thread
1220 
1221 end interface
1222 
1223 
1224 interface MPI_Register_datarep
1225 
1226 subroutine MPI_Register_datarep(datarep, read_conversion_fn, write_conversion_fn, dtype_file_extent_fn, extra_state&
1227         , ierror)
1228   include 'mpif-config.h'
1229   character(len=*), intent(in) :: datarep
1230   external :: read_conversion_fn
1231   external :: write_conversion_fn
1232   external :: dtype_file_extent_fn
1233   integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
1234   integer, intent(out) :: ierror
1235 end subroutine MPI_Register_datarep
1236 
1237 end interface
1238 
1239 
1240 interface MPI_Request_free
1241 
1242 subroutine MPI_Request_free(request, ierror)
1243   integer, intent(inout) :: request
1244   integer, intent(out) :: ierror
1245 end subroutine MPI_Request_free
1246 
1247 end interface
1248 
1249 
1250 interface MPI_Request_get_status
1251 
1252 subroutine MPI_Request_get_status(request, flag, status, ierror)
1253   include 'mpif-config.h'
1254   integer, intent(in) :: request
1255   logical, intent(out) :: flag
1256   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1257   integer, intent(out) :: ierror
1258 end subroutine MPI_Request_get_status
1259 
1260 end interface
1261 
1262 
1263 interface MPI_Start
1264 
1265 subroutine MPI_Start(request, ierror)
1266   integer, intent(inout) :: request
1267   integer, intent(out) :: ierror
1268 end subroutine MPI_Start
1269 
1270 end interface
1271 
1272 
1273 interface MPI_Startall
1274 
1275 subroutine MPI_Startall(count, array_of_requests, ierror)
1276   integer, intent(in) :: count
1277   integer, dimension(*), intent(inout) :: array_of_requests
1278   integer, intent(out) :: ierror
1279 end subroutine MPI_Startall
1280 
1281 end interface
1282 
1283 
1284 interface MPI_Status_set_cancelled
1285 
1286 subroutine MPI_Status_set_cancelled(status, flag, ierror)
1287   include 'mpif-config.h'
1288   integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status
1289   logical, intent(in) :: flag
1290   integer, intent(out) :: ierror
1291 end subroutine MPI_Status_set_cancelled
1292 
1293 end interface
1294 
1295 
1296 interface MPI_Status_set_elements
1297 
1298 subroutine MPI_Status_set_elements(status, datatype, count, ierror)
1299   include 'mpif-config.h'
1300   integer, dimension(MPI_STATUS_SIZE), intent(inout) :: status
1301   integer, intent(in) :: datatype
1302   integer, intent(in) :: count
1303   integer, intent(out) :: ierror
1304 end subroutine MPI_Status_set_elements
1305 
1306 end interface
1307 
1308 
1309 interface MPI_Test
1310 
1311 subroutine MPI_Test(request, flag, status, ierror)
1312   include 'mpif-config.h'
1313   integer, intent(inout) :: request
1314   logical, intent(out) :: flag
1315   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1316   integer, intent(out) :: ierror
1317 end subroutine MPI_Test
1318 
1319 end interface
1320 
1321 
1322 interface MPI_Test_cancelled
1323 
1324 subroutine MPI_Test_cancelled(status, flag, ierror)
1325   include 'mpif-config.h'
1326   integer, dimension(MPI_STATUS_SIZE), intent(in) :: status
1327   logical, intent(out) :: flag
1328   integer, intent(out) :: ierror
1329 end subroutine MPI_Test_cancelled
1330 
1331 end interface
1332 
1333 
1334 interface MPI_Testall
1335 
1336 subroutine MPI_Testall(count, array_of_requests, flag, array_of_statuses, ierror)
1337   include 'mpif-config.h'
1338   integer, intent(in) :: count
1339   integer, dimension(count), intent(inout) :: array_of_requests
1340   logical, intent(out) :: flag
1341   integer, dimension(MPI_STATUS_SIZE, count), intent(out) :: array_of_statuses
1342   integer, intent(out) :: ierror
1343 end subroutine MPI_Testall
1344 
1345 end interface
1346 
1347 
1348 interface MPI_Testany
1349 
1350 subroutine MPI_Testany(count, array_of_requests, index, flag, status&
1351         , ierror)
1352   include 'mpif-config.h'
1353   integer, intent(in) :: count
1354   integer, dimension(count), intent(inout) :: array_of_requests
1355   integer, intent(out) :: index
1356   logical, intent(out) :: flag
1357   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1358   integer, intent(out) :: ierror
1359 end subroutine MPI_Testany
1360 
1361 end interface
1362 
1363 
1364 interface MPI_Testsome
1365 
1366 subroutine MPI_Testsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses&
1367         , ierror)
1368   include 'mpif-config.h'
1369   integer, intent(in) :: incount
1370   integer, dimension(incount), intent(inout) :: array_of_requests
1371   integer, intent(out) :: outcount
1372   integer, dimension(*), intent(out) :: array_of_indices
1373   integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses
1374   integer, intent(out) :: ierror
1375 end subroutine MPI_Testsome
1376 
1377 end interface
1378 
1379 
1380 interface MPI_Topo_test
1381 
1382 subroutine MPI_Topo_test(comm, status, ierror)
1383   integer, intent(in) :: comm
1384   integer, intent(out) :: status
1385   integer, intent(out) :: ierror
1386 end subroutine MPI_Topo_test
1387 
1388 end interface
1389 
1390 
1391 interface MPI_Type_commit
1392 
1393 subroutine MPI_Type_commit(datatype, ierror)
1394   integer, intent(inout) :: datatype
1395   integer, intent(out) :: ierror
1396 end subroutine MPI_Type_commit
1397 
1398 end interface
1399 
1400 
1401 interface MPI_Type_contiguous
1402 
1403 subroutine MPI_Type_contiguous(count, oldtype, newtype, ierror)
1404   integer, intent(in) :: count
1405   integer, intent(in) :: oldtype
1406   integer, intent(out) :: newtype
1407   integer, intent(out) :: ierror
1408 end subroutine MPI_Type_contiguous
1409 
1410 end interface
1411 
1412 
1413 interface MPI_Type_create_darray
1414 
1415 subroutine MPI_Type_create_darray(size, rank, ndims, gsize_array, distrib_array, &
1416         darg_array, psize_array, order, oldtype, newtype, ierror)
1417   integer, intent(in) :: size
1418   integer, intent(in) :: rank
1419   integer, intent(in) :: ndims
1420   integer, dimension(*), intent(in) :: gsize_array
1421   integer, dimension(*), intent(in) :: distrib_array
1422   integer, dimension(*), intent(in) :: darg_array
1423   integer, dimension(*), intent(in) :: psize_array
1424   integer, intent(in) :: order
1425   integer, intent(in) :: oldtype
1426   integer, intent(out) :: newtype
1427   integer, intent(out) :: ierror
1428 end subroutine MPI_Type_create_darray
1429 
1430 end interface
1431 
1432 
1433 interface MPI_Type_create_f90_complex
1434 
1435 subroutine MPI_Type_create_f90_complex(p, r, newtype, ierror)
1436   integer, intent(in) :: p
1437   integer, intent(in) :: r
1438   integer, intent(out) :: newtype
1439   integer, intent(out) :: ierror
1440 end subroutine MPI_Type_create_f90_complex
1441 
1442 end interface
1443 
1444 
1445 interface MPI_Type_create_f90_integer
1446 
1447 subroutine MPI_Type_create_f90_integer(r, newtype, ierror)
1448   integer, intent(in) :: r
1449   integer, intent(out) :: newtype
1450   integer, intent(out) :: ierror
1451 end subroutine MPI_Type_create_f90_integer
1452 
1453 end interface
1454 
1455 
1456 interface MPI_Type_create_f90_real
1457 
1458 subroutine MPI_Type_create_f90_real(p, r, newtype, ierror)
1459   integer, intent(in) :: p
1460   integer, intent(in) :: r
1461   integer, intent(out) :: newtype
1462   integer, intent(out) :: ierror
1463 end subroutine MPI_Type_create_f90_real
1464 
1465 end interface
1466 
1467 
1468 interface MPI_Type_create_hindexed
1469 
1470 subroutine MPI_Type_create_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype&
1471         , ierror)
1472   include 'mpif-config.h'
1473   integer, intent(in) :: count
1474   integer, dimension(*), intent(in) :: array_of_blocklengths
1475   integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements
1476   integer, intent(in) :: oldtype
1477   integer, intent(out) :: newtype
1478   integer, intent(out) :: ierror
1479 end subroutine MPI_Type_create_hindexed
1480 
1481 end interface
1482 
1483 
1484 interface MPI_Type_create_hvector
1485 
1486 subroutine MPI_Type_create_hvector(count, blocklength, stride, oldtype, newtype&
1487         , ierror)
1488   include 'mpif-config.h'
1489   integer, intent(in) :: count
1490   integer, intent(in) :: blocklength
1491   integer(kind=MPI_ADDRESS_KIND), intent(in) :: stride
1492   integer, intent(in) :: oldtype
1493   integer, intent(out) :: newtype
1494   integer, intent(out) :: ierror
1495 end subroutine MPI_Type_create_hvector
1496 
1497 end interface
1498 
1499 
1500 interface MPI_Type_create_indexed_block
1501 
1502 subroutine MPI_Type_create_indexed_block(count, blocklength, array_of_displacements, oldtype, newtype&
1503         , ierror)
1504   integer, intent(in) :: count
1505   integer, intent(in) :: blocklength
1506   integer, dimension(*), intent(in) :: array_of_displacements
1507   integer, intent(in) :: oldtype
1508   integer, intent(out) :: newtype
1509   integer, intent(out) :: ierror
1510 end subroutine MPI_Type_create_indexed_block
1511 
1512 end interface
1513 
1514 
1515 interface MPI_Type_create_keyval
1516 
1517 subroutine MPI_Type_create_keyval(type_copy_attr_fn, type_delete_attr_fn, type_keyval, extra_state, ierror)
1518   include 'mpif-config.h'
1519   external :: type_copy_attr_fn
1520   external :: type_delete_attr_fn
1521   integer, intent(out) :: type_keyval
1522   integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
1523   integer, intent(out) :: ierror
1524 end subroutine MPI_Type_create_keyval
1525 
1526 end interface
1527 
1528 
1529 interface MPI_Type_create_resized
1530 
1531 subroutine MPI_Type_create_resized(oldtype, lb, extent, newtype, ierror)
1532   include 'mpif-config.h'
1533   integer, intent(in) :: oldtype
1534   integer(kind=MPI_ADDRESS_KIND), intent(in) :: lb
1535   integer(kind=MPI_ADDRESS_KIND), intent(in) :: extent
1536   integer, intent(out) :: newtype
1537   integer, intent(out) :: ierror
1538 end subroutine MPI_Type_create_resized
1539 
1540 end interface
1541 
1542 
1543 interface MPI_Type_create_struct
1544 
1545 subroutine MPI_Type_create_struct(count, array_of_block_lengths, array_of_displacements, array_of_types, newtype&
1546         , ierror)
1547   include 'mpif-config.h'
1548   integer, intent(in) :: count
1549   integer, dimension(*), intent(in) :: array_of_block_lengths
1550   integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements
1551   integer, dimension(*), intent(in) :: array_of_types
1552   integer, intent(out) :: newtype
1553   integer, intent(out) :: ierror
1554 end subroutine MPI_Type_create_struct
1555 
1556 end interface
1557 
1558 
1559 interface MPI_Type_create_subarray
1560 
1561 subroutine MPI_Type_create_subarray(ndims, size_array, subsize_array, start_array, order, &
1562         oldtype, newtype, ierror)
1563   integer, intent(in) :: ndims
1564   integer, dimension(*), intent(in) :: size_array
1565   integer, dimension(*), intent(in) :: subsize_array
1566   integer, dimension(*), intent(in) :: start_array
1567   integer, intent(in) :: order
1568   integer, intent(in) :: oldtype
1569   integer, intent(out) :: newtype
1570   integer, intent(out) :: ierror
1571 end subroutine MPI_Type_create_subarray
1572 
1573 end interface
1574 
1575 
1576 interface MPI_Type_delete_attr
1577 
1578 subroutine MPI_Type_delete_attr(datatype, type_keyval, ierror)
1579   integer, intent(in) :: datatype
1580   integer, intent(in) :: type_keyval
1581   integer, intent(out) :: ierror
1582 end subroutine MPI_Type_delete_attr
1583 
1584 end interface
1585 
1586 
1587 interface MPI_Type_dup
1588 
1589 subroutine MPI_Type_dup(oldtype, newtype, ierror)
1590   integer, intent(in) :: oldtype
1591   integer, intent(out) :: newtype
1592   integer, intent(out) :: ierror
1593 end subroutine MPI_Type_dup
1594 
1595 end interface
1596 
1597 
1598 interface MPI_Type_free
1599 
1600 subroutine MPI_Type_free(datatype, ierror)
1601   integer, intent(inout) :: datatype
1602   integer, intent(out) :: ierror
1603 end subroutine MPI_Type_free
1604 
1605 end interface
1606 
1607 
1608 interface MPI_Type_free_keyval
1609 
1610 subroutine MPI_Type_free_keyval(type_keyval, ierror)
1611   integer, intent(inout) :: type_keyval
1612   integer, intent(out) :: ierror
1613 end subroutine MPI_Type_free_keyval
1614 
1615 end interface
1616 
1617 
1618 interface MPI_Type_get_attr
1619 
1620 subroutine MPI_Type_get_attr(datatype, type_keyval, attribute_val, flag, ierror)
1621   include 'mpif-config.h'
1622   integer, intent(in) :: datatype
1623   integer, intent(in) :: type_keyval
1624   integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
1625   logical, intent(out) :: flag
1626   integer, intent(out) :: ierror
1627 end subroutine MPI_Type_get_attr
1628 
1629 end interface
1630 
1631 
1632 interface MPI_Type_get_contents
1633 
1634 subroutine MPI_Type_get_contents(datatype, max_integers, max_addresses, max_datatypes, array_of_integers, &
1635         array_of_addresses, array_of_datatypes, ierror)
1636   include 'mpif-config.h'
1637   integer, intent(in) :: datatype
1638   integer, intent(in) :: max_integers
1639   integer, intent(in) :: max_addresses
1640   integer, intent(in) :: max_datatypes
1641   integer, dimension(*), intent(out) :: array_of_integers
1642   integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(out) :: array_of_addresses
1643   integer, dimension(*), intent(out) :: array_of_datatypes
1644   integer, intent(out) :: ierror
1645 end subroutine MPI_Type_get_contents
1646 
1647 end interface
1648 
1649 
1650 interface MPI_Type_get_envelope
1651 
1652 subroutine MPI_Type_get_envelope(datatype, num_integers, num_addresses, num_datatypes, combiner&
1653         , ierror)
1654   integer, intent(in) :: datatype
1655   integer, intent(out) :: num_integers
1656   integer, intent(out) :: num_addresses
1657   integer, intent(out) :: num_datatypes
1658   integer, intent(out) :: combiner
1659   integer, intent(out) :: ierror
1660 end subroutine MPI_Type_get_envelope
1661 
1662 end interface
1663 
1664 
1665 interface MPI_Type_get_extent
1666 
1667 subroutine MPI_Type_get_extent(datatype, lb, extent, ierror)
1668   include 'mpif-config.h'
1669   integer, intent(in) :: datatype
1670   integer(kind=MPI_ADDRESS_KIND), intent(out) :: lb
1671   integer(kind=MPI_ADDRESS_KIND), intent(out) :: extent
1672   integer, intent(out) :: ierror
1673 end subroutine MPI_Type_get_extent
1674 
1675 end interface
1676 
1677 
1678 interface MPI_Type_get_extent_x
1679 
1680 subroutine MPI_Type_get_extent_x(datatype, lb, extent, ierror)
1681   include 'mpif-config.h'
1682   integer, intent(in) :: datatype
1683   integer(kind=MPI_COUNT_KIND), intent(out) :: lb
1684   integer(kind=MPI_COUNT_KIND), intent(out) :: extent
1685   integer, intent(out) :: ierror
1686 end subroutine MPI_Type_get_extent_x
1687 
1688 end interface
1689 
1690 
1691 interface MPI_Type_get_name
1692 
1693 subroutine MPI_Type_get_name(datatype, type_name, resultlen, ierror)
1694   integer, intent(in) :: datatype
1695   character(len=*), intent(out) :: type_name
1696   integer, intent(out) :: resultlen
1697   integer, intent(out) :: ierror
1698 end subroutine MPI_Type_get_name
1699 
1700 end interface
1701 
1702 
1703 interface MPI_Type_get_true_extent
1704 
1705 subroutine MPI_Type_get_true_extent(datatype, true_lb, true_extent, ierror)
1706   include 'mpif-config.h'
1707   integer, intent(in) :: datatype
1708   integer(kind=MPI_ADDRESS_KIND), intent(out) :: true_lb
1709   integer(kind=MPI_ADDRESS_KIND), intent(out) :: true_extent
1710   integer, intent(out) :: ierror
1711 end subroutine MPI_Type_get_true_extent
1712 
1713 end interface
1714 
1715 
1716 interface MPI_Type_get_true_extent_x
1717 
1718 subroutine MPI_Type_get_true_extent_x(datatype, true_lb, true_extent, ierror)
1719   include 'mpif-config.h'
1720   integer, intent(in) :: datatype
1721   integer(kind=MPI_COUNT_KIND), intent(out) :: true_lb
1722   integer(kind=MPI_COUNT_KIND), intent(out) :: true_extent
1723   integer, intent(out) :: ierror
1724 end subroutine MPI_Type_get_true_extent_x
1725 
1726 end interface
1727 
1728 
1729 interface MPI_Type_indexed
1730 
1731 subroutine MPI_Type_indexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype&
1732         , ierror)
1733   integer, intent(in) :: count
1734   integer, dimension(*), intent(in) :: array_of_blocklengths
1735   integer, dimension(*), intent(in) :: array_of_displacements
1736   integer, intent(in) :: oldtype
1737   integer, intent(out) :: newtype
1738   integer, intent(out) :: ierror
1739 end subroutine MPI_Type_indexed
1740 
1741 end interface
1742 interface MPI_Type_match_size
1743 
1744 subroutine MPI_Type_match_size(typeclass, size, datatype, ierror)
1745   integer, intent(in) :: typeclass
1746   integer, intent(in) :: size
1747   integer, intent(out) :: datatype
1748   integer, intent(out) :: ierror
1749 end subroutine MPI_Type_match_size
1750 
1751 end interface
1752 
1753 
1754 interface MPI_Type_set_attr
1755 
1756 subroutine MPI_Type_set_attr(datatype, type_keyval, attr_val, ierror)
1757   include 'mpif-config.h'
1758   integer, intent(in) :: datatype
1759   integer, intent(in) :: type_keyval
1760   integer(kind=MPI_ADDRESS_KIND), intent(in) :: attr_val
1761   integer, intent(out) :: ierror
1762 end subroutine MPI_Type_set_attr
1763 
1764 end interface
1765 
1766 
1767 interface MPI_Type_set_name
1768 
1769 subroutine MPI_Type_set_name(datatype, type_name, ierror)
1770   integer, intent(in) :: datatype
1771   character(len=*), intent(in) :: type_name
1772   integer, intent(out) :: ierror
1773 end subroutine MPI_Type_set_name
1774 
1775 end interface
1776 
1777 
1778 interface MPI_Type_size
1779 
1780 subroutine MPI_Type_size(datatype, size, ierror)
1781   integer, intent(in) :: datatype
1782   integer, intent(out) :: size
1783   integer, intent(out) :: ierror
1784 end subroutine MPI_Type_size
1785 
1786 end interface
1787 
1788 
1789 interface MPI_Type_size_x
1790 
1791 subroutine MPI_Type_size_x(datatype, size, ierror)
1792   include 'mpif-config.h'
1793   integer, intent(in) :: datatype
1794   integer(kind=MPI_COUNT_KIND), intent(out) :: size
1795   integer, intent(out) :: ierror
1796 end subroutine MPI_Type_size_x
1797 
1798 end interface
1799 
1800 
1801 interface MPI_Type_vector
1802 
1803 subroutine MPI_Type_vector(count, blocklength, stride, oldtype, newtype&
1804         , ierror)
1805   integer, intent(in) :: count
1806   integer, intent(in) :: blocklength
1807   integer, intent(in) :: stride
1808   integer, intent(in) :: oldtype
1809   integer, intent(out) :: newtype
1810   integer, intent(out) :: ierror
1811 end subroutine MPI_Type_vector
1812 
1813 end interface
1814 
1815 
1816 interface MPI_Wait
1817 
1818 subroutine MPI_Wait(request, status, ierror)
1819   include 'mpif-config.h'
1820   integer, intent(inout) :: request
1821   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1822   integer, intent(out) :: ierror
1823 end subroutine MPI_Wait
1824 
1825 end interface
1826 
1827 
1828 interface MPI_Waitall
1829 
1830 subroutine MPI_Waitall(count, array_of_requests, array_of_statuses, ierror)
1831   include 'mpif-config.h'
1832   integer, intent(in) :: count
1833   integer, dimension(count), intent(inout) :: array_of_requests
1834   integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses
1835   integer, intent(out) :: ierror
1836 end subroutine MPI_Waitall
1837 
1838 end interface
1839 
1840 
1841 interface MPI_Waitany
1842 
1843 subroutine MPI_Waitany(count, array_of_requests, index, status, ierror)
1844   include 'mpif-config.h'
1845   integer, intent(in) :: count
1846   integer, dimension(count), intent(inout) :: array_of_requests
1847   integer, intent(out) :: index
1848   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1849   integer, intent(out) :: ierror
1850 end subroutine MPI_Waitany
1851 
1852 end interface
1853 
1854 
1855 interface MPI_Waitsome
1856 
1857 subroutine MPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses&
1858         , ierror)
1859   include 'mpif-config.h'
1860   integer, intent(in) :: incount
1861   integer, dimension(incount), intent(inout) :: array_of_requests
1862   integer, intent(out) :: outcount
1863   integer, dimension(*), intent(out) :: array_of_indices
1864   integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses
1865   integer, intent(out) :: ierror
1866 end subroutine MPI_Waitsome
1867 
1868 end interface
1869 
1870 
1871 interface MPI_Win_call_errhandler
1872 
1873 subroutine MPI_Win_call_errhandler(win, errorcode, ierror)
1874   integer, intent(in) :: win
1875   integer, intent(in) :: errorcode
1876   integer, intent(out) :: ierror
1877 end subroutine MPI_Win_call_errhandler
1878 
1879 end interface
1880 
1881 
1882 interface MPI_Win_complete
1883 
1884 subroutine MPI_Win_complete(win, ierror)
1885   integer, intent(in) :: win
1886   integer, intent(out) :: ierror
1887 end subroutine MPI_Win_complete
1888 
1889 end interface
1890 
1891 
1892 interface MPI_Win_create_errhandler
1893 
1894 subroutine MPI_Win_create_errhandler(function, errhandler, ierror)
1895   external :: function
1896   integer, intent(out) :: errhandler
1897   integer, intent(out) :: ierror
1898 end subroutine MPI_Win_create_errhandler
1899 
1900 end interface
1901 
1902 
1903 interface MPI_Win_create_keyval
1904 
1905 subroutine MPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state, ierror)
1906   include 'mpif-config.h'
1907   external :: win_copy_attr_fn
1908   external :: win_delete_attr_fn
1909   integer, intent(out) :: win_keyval
1910   integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
1911   integer, intent(out) :: ierror
1912 end subroutine MPI_Win_create_keyval
1913 
1914 end interface
1915 
1916 
1917 interface MPI_Win_delete_attr
1918 
1919 subroutine MPI_Win_delete_attr(win, win_keyval, ierror)
1920   integer, intent(in) :: win
1921   integer, intent(in) :: win_keyval
1922   integer, intent(out) :: ierror
1923 end subroutine MPI_Win_delete_attr
1924 
1925 end interface
1926 
1927 
1928 interface MPI_Win_fence
1929 
1930 subroutine MPI_Win_fence(assert, win, ierror)
1931   integer, intent(in) :: assert
1932   integer, intent(in) :: win
1933   integer, intent(out) :: ierror
1934 end subroutine MPI_Win_fence
1935 
1936 end interface
1937 
1938 
1939 interface MPI_Win_free
1940 
1941 subroutine MPI_Win_free(win, ierror)
1942   integer, intent(inout) :: win
1943   integer, intent(out) :: ierror
1944 end subroutine MPI_Win_free
1945 
1946 end interface
1947 
1948 
1949 interface MPI_Win_free_keyval
1950 
1951 subroutine MPI_Win_free_keyval(win_keyval, ierror)
1952   integer, intent(inout) :: win_keyval
1953   integer, intent(out) :: ierror
1954 end subroutine MPI_Win_free_keyval
1955 
1956 end interface
1957 
1958 
1959 interface MPI_Win_get_attr
1960 
1961 subroutine MPI_Win_get_attr(win, win_keyval, attribute_val, flag, ierror)
1962   include 'mpif-config.h'
1963   integer, intent(in) :: win
1964   integer, intent(in) :: win_keyval
1965   integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
1966   logical, intent(out) :: flag
1967   integer, intent(out) :: ierror
1968 end subroutine MPI_Win_get_attr
1969 
1970 end interface
1971 
1972 
1973 interface MPI_Win_get_errhandler
1974 
1975 subroutine MPI_Win_get_errhandler(win, errhandler, ierror)
1976   integer, intent(in) :: win
1977   integer, intent(out) :: errhandler
1978   integer, intent(out) :: ierror
1979 end subroutine MPI_Win_get_errhandler
1980 
1981 end interface
1982 
1983 
1984 interface MPI_Win_get_group
1985 
1986 subroutine MPI_Win_get_group(win, group, ierror)
1987   integer, intent(in) :: win
1988   integer, intent(out) :: group
1989   integer, intent(out) :: ierror
1990 end subroutine MPI_Win_get_group
1991 
1992 end interface
1993 
1994 
1995 interface MPI_Win_get_name
1996 
1997 subroutine MPI_Win_get_name(win, win_name, resultlen, ierror)
1998   integer, intent(in) :: win
1999   character(len=*), intent(out) :: win_name
2000   integer, intent(out) :: resultlen
2001   integer, intent(out) :: ierror
2002 end subroutine MPI_Win_get_name
2003 
2004 end interface
2005 
2006 
2007 interface MPI_Win_lock
2008 
2009 subroutine MPI_Win_lock(lock_type, rank, assert, win, ierror)
2010   integer, intent(in) :: lock_type
2011   integer, intent(in) :: rank
2012   integer, intent(in) :: assert
2013   integer, intent(in) :: win
2014   integer, intent(out) :: ierror
2015 end subroutine MPI_Win_lock
2016 
2017 end interface
2018 
2019 
2020 interface MPI_Win_post
2021 
2022 subroutine MPI_Win_post(group, assert, win, ierror)
2023   integer, intent(in) :: group
2024   integer, intent(in) :: assert
2025   integer, intent(in) :: win
2026   integer, intent(out) :: ierror
2027 end subroutine MPI_Win_post
2028 
2029 end interface
2030 
2031 
2032 interface MPI_Win_set_attr
2033 
2034 subroutine MPI_Win_set_attr(win, win_keyval, attribute_val, ierror)
2035   include 'mpif-config.h'
2036   integer, intent(in) :: win
2037   integer, intent(in) :: win_keyval
2038   integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val
2039   integer, intent(out) :: ierror
2040 end subroutine MPI_Win_set_attr
2041 
2042 end interface
2043 
2044 
2045 interface MPI_Win_set_errhandler
2046 
2047 subroutine MPI_Win_set_errhandler(win, errhandler, ierror)
2048   integer, intent(in) :: win
2049   integer, intent(in) :: errhandler
2050   integer, intent(out) :: ierror
2051 end subroutine MPI_Win_set_errhandler
2052 
2053 end interface
2054 
2055 
2056 interface MPI_Win_set_name
2057 
2058 subroutine MPI_Win_set_name(win, win_name, ierror)
2059   integer, intent(in) :: win
2060   character(len=*), intent(in) :: win_name
2061   integer, intent(out) :: ierror
2062 end subroutine MPI_Win_set_name
2063 
2064 end interface
2065 
2066 
2067 interface MPI_Win_start
2068 
2069 subroutine MPI_Win_start(group, assert, win, ierror)
2070   integer, intent(in) :: group
2071   integer, intent(in) :: assert
2072   integer, intent(in) :: win
2073   integer, intent(out) :: ierror
2074 end subroutine MPI_Win_start
2075 
2076 end interface
2077 
2078 
2079 interface MPI_Win_test
2080 
2081 subroutine MPI_Win_test(win, flag, ierror)
2082   integer, intent(in) :: win
2083   logical, intent(out) :: flag
2084   integer, intent(out) :: ierror
2085 end subroutine MPI_Win_test
2086 
2087 end interface
2088 
2089 
2090 interface MPI_Win_unlock
2091 
2092 subroutine MPI_Win_unlock(rank, win, ierror)
2093   integer, intent(in) :: rank
2094   integer, intent(in) :: win
2095   integer, intent(out) :: ierror
2096 end subroutine MPI_Win_unlock
2097 
2098 end interface
2099 
2100 
2101 interface MPI_Win_wait
2102 
2103 subroutine MPI_Win_wait(win, ierror)
2104   integer, intent(in) :: win
2105   integer, intent(out) :: ierror
2106 end subroutine MPI_Win_wait
2107 
2108 end interface
2109 
2110 
2111 interface MPI_Close_port
2112 
2113 subroutine MPI_Close_port(port_name, ierror)
2114   character(len=*), intent(in) :: port_name
2115   integer, intent(out) :: ierror
2116 end subroutine MPI_Close_port
2117 
2118 end interface
2119 
2120 
2121 interface MPI_Lookup_name
2122 
2123 subroutine MPI_Lookup_name(service_name, info, port_name, ierror)
2124   character(len=*), intent(in) :: service_name
2125   integer, intent(in) :: info
2126   character(len=*), intent(out) :: port_name
2127   integer, intent(out) :: ierror
2128 end subroutine MPI_Lookup_name
2129 
2130 end interface
2131 
2132 
2133 interface MPI_Open_port
2134 
2135 subroutine MPI_Open_port(info, port_name, ierror)
2136   integer, intent(in) :: info
2137   character(len=*), intent(out) :: port_name
2138   integer, intent(out) :: ierror
2139 end subroutine MPI_Open_port
2140 
2141 end interface
2142 
2143 
2144 interface MPI_Publish_name
2145 
2146 subroutine MPI_Publish_name(service_name, info, port_name, ierror)
2147   character(len=*), intent(in) :: service_name
2148   integer, intent(in) :: info
2149   character(len=*), intent(in) :: port_name
2150   integer, intent(out) :: ierror
2151 end subroutine MPI_Publish_name
2152 
2153 end interface
2154 
2155 
2156 interface MPI_Unpublish_name
2157 
2158 subroutine MPI_Unpublish_name(service_name, info, port_name, ierror)
2159   character(len=*), intent(in) :: service_name
2160   integer, intent(in) :: info
2161   character(len=*), intent(in) :: port_name
2162   integer, intent(out) :: ierror
2163 end subroutine MPI_Unpublish_name
2164 
2165 end interface
2166 
2167 
2168 interface MPI_Comm_disconnect
2169 
2170 subroutine MPI_Comm_disconnect(comm, ierror)
2171   integer, intent(inout) :: comm
2172   integer, intent(out) :: ierror
2173 end subroutine MPI_Comm_disconnect
2174 
2175 end interface
2176 
2177 
2178 interface MPI_Comm_get_parent
2179 
2180 subroutine MPI_Comm_get_parent(parent, ierror)
2181   integer, intent(out) :: parent
2182   integer, intent(out) :: ierror
2183 end subroutine MPI_Comm_get_parent
2184 
2185 end interface
2186 
2187 
2188 interface MPI_Comm_join
2189 
2190 subroutine MPI_Comm_join(fd, intercomm, ierror)
2191   integer, intent(in) :: fd
2192   integer, intent(out) :: intercomm
2193   integer, intent(out) :: ierror
2194 end subroutine MPI_Comm_join
2195 
2196 end interface
2197 
2198 
2199 interface MPI_Comm_accept
2200 
2201 subroutine MPI_Comm_accept(port_name, info, root, comm, newcomm&
2202         , ierror)
2203   character(len=*), intent(in) :: port_name
2204   integer, intent(in) :: info
2205   integer, intent(in) :: root
2206   integer, intent(in) :: comm
2207   integer, intent(out) :: newcomm
2208   integer, intent(out) :: ierror
2209 end subroutine MPI_Comm_accept
2210 
2211 end interface
2212 
2213 
2214 interface MPI_Comm_connect
2215 
2216 subroutine MPI_Comm_connect(port_name, info, root, comm, newcomm&
2217         , ierror)
2218   character(len=*), intent(in) :: port_name
2219   integer, intent(in) :: info
2220   integer, intent(in) :: root
2221   integer, intent(in) :: comm
2222   integer, intent(out) :: newcomm
2223   integer, intent(out) :: ierror
2224 end subroutine MPI_Comm_connect
2225 
2226 end interface
2227 
2228 
2229 interface MPI_Comm_spawn
2230 
2231 subroutine MPI_Comm_spawn(command, argv, maxprocs, info, root, &
2232         comm, intercomm, array_of_errcodes, ierror)
2233   character(len=*), intent(in) :: command
2234   character(len=*), dimension(*), intent(in) :: argv
2235   integer, intent(in) :: maxprocs
2236   integer, intent(in) :: info
2237   integer, intent(in) :: root
2238   integer, intent(in) :: comm
2239   integer, intent(out) :: intercomm
2240   integer, dimension(*), intent(out) :: array_of_errcodes
2241   integer, intent(out) :: ierror
2242 end subroutine MPI_Comm_spawn
2243 
2244 end interface
2245 
2246 
2247 interface MPI_Comm_spawn_multiple
2248 
2249 subroutine MPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
2250         root, comm, intercomm, array_of_errcodes, ierror)
2251   integer, intent(in) :: count
2252   character(len=*), dimension(*), intent(in) :: array_of_commands
2253   character(len=*), dimension(count,*), intent(in) :: array_of_argv
2254   integer, dimension(*), intent(in) :: array_of_maxprocs
2255   integer, dimension(*), intent(in) :: array_of_info
2256   integer, intent(in) :: root
2257   integer, intent(in) :: comm
2258   integer, intent(out) :: intercomm
2259   integer, dimension(*), intent(out) :: array_of_errcodes
2260   integer, intent(out) :: ierror
2261 end subroutine MPI_Comm_spawn_multiple
2262 
2263 end interface
2264 
2265 
2266 interface MPI_Mprobe
2267 
2268 subroutine MPI_Mprobe(source, tag, comm, message, status, ierror)
2269   include 'mpif-config.h'
2270   integer, intent(in) :: source
2271   integer, intent(in) :: tag
2272   integer, intent(in) :: comm
2273   integer, intent(out) :: message
2274   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
2275   integer, intent(out) :: ierror
2276 end subroutine MPI_Mprobe
2277 
2278 end interface
2279 
2280 
2281 interface MPI_Improbe
2282 
2283 subroutine MPI_Improbe(source, tag, comm, flag, message, status, ierror)
2284   include 'mpif-config.h'
2285   integer, intent(in) :: source
2286   integer, intent(in) :: tag
2287   integer, intent(in) :: comm
2288   logical, intent(out) :: flag
2289   integer, intent(out) :: message
2290   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
2291   integer, intent(out) :: ierror
2292 end subroutine MPI_Improbe
2293 
2294 end interface
2295 
2296 
2297 interface MPI_Get_library_version
2298 
2299 subroutine MPI_Get_library_version(version, resultlen, ierror)
2300   character(len=*), intent(out) :: version
2301   integer, intent(out) :: resultlen
2302   integer, intent(out) :: ierror
2303 end subroutine MPI_Get_library_version
2304 
2305 end interface
2306 
2307 
2308 interface MPI_Comm_split_type
2309 
2310 subroutine MPI_Comm_split_type(comm, split_type, key, info, newcomm, ierror)
2311   integer, intent(in) :: comm
2312   integer, intent(in) :: split_type
2313   integer, intent(in) :: key
2314   integer, intent(in) :: info
2315   integer, intent(out) :: newcomm
2316   integer, intent(out) :: ierror
2317 end subroutine MPI_Comm_split_type
2318 
2319 end interface
2320 
2321 
2322 interface MPI_Type_create_hindexed_block
2323 
2324 subroutine MPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype&
2325         , ierror)
2326   include 'mpif-config.h'
2327   integer, intent(in) :: count
2328   integer, intent(in) :: blocklength
2329   integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements
2330   integer, intent(in) :: oldtype
2331   integer, intent(out) :: newtype
2332   integer, intent(out) :: ierror
2333 end subroutine MPI_Type_create_hindexed_block
2334 
2335 end interface
2336 
2337 
2338 interface MPI_Dist_graph_create
2339 
2340 subroutine MPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, &
2341         weights, info, reorder, comm_dist_graph, ierror)
2342   integer, intent(in) :: comm_old
2343   integer, intent(in) :: n
2344   integer, dimension(n), intent(in) :: sources
2345   integer, dimension(n), intent(in) :: degrees
2346   integer, dimension(n), intent(in) :: destinations
2347   integer, dimension(n), intent(in) :: weights
2348   integer, intent(in) :: info
2349   logical, intent(in) :: reorder
2350   integer, intent(out) :: comm_dist_graph
2351   integer, intent(out) :: ierror
2352 end subroutine MPI_Dist_graph_create
2353 
2354 end interface
2355 
2356 
2357 interface MPI_Dist_graph_create_adjacent
2358 
2359 subroutine MPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, &
2360        outdegree, destinations, destweights, info, reorder, &
2361        comm_dist_graph, ierror)
2362   integer, intent(in) :: comm_old
2363   integer, intent(in) :: indegree
2364   integer, dimension(indegree), intent(in) :: sources
2365   integer, dimension(indegree), intent(in) :: sourceweights
2366   integer, intent(in) :: outdegree
2367   integer, dimension(outdegree), intent(in) :: destinations
2368   integer, dimension(outdegree), intent(in) :: destweights
2369   integer, intent(in) :: info
2370   logical, intent(in) :: reorder
2371   integer, intent(out) :: comm_dist_graph
2372   integer, intent(out) :: ierror
2373 end subroutine MPI_Dist_graph_create_adjacent
2374 
2375 end interface
2376 
2377 
2378 interface MPI_Dist_graph_neighbors_count
2379 
2380 subroutine MPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted, ierror)
2381   integer, intent(in) :: comm
2382   integer, intent(out) :: indegree
2383   integer, intent(out) :: outdegree
2384   logical, intent(out) :: weighted
2385   integer, intent(out) :: ierror
2386 end subroutine MPI_Dist_graph_neighbors_count
2387 
2388 end interface
2389 
2390 
2391 interface MPI_Dist_graph_neighbors
2392 
2393 subroutine MPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, &
2394        maxoutdegree, destinations, destweights, ierror)
2395   integer, intent(in) :: comm
2396   integer, intent(in) :: maxindegree
2397   integer, dimension(maxindegree), intent(out) :: sources
2398   integer, dimension(maxindegree), intent(out) :: sourceweights
2399   integer, intent(in) :: maxoutdegree
2400   integer, dimension(maxoutdegree), intent(out) :: destinations
2401   integer, dimension(maxoutdegree), intent(out) :: destweights
2402   integer, intent(out) :: ierror
2403 end subroutine MPI_Dist_graph_neighbors
2404 
2405 end interface
2406 
2407 
2408 interface MPI_Win_flush
2409 
2410 subroutine MPI_Win_flush(rank, win, ierror)
2411   integer, intent(in) :: rank
2412   integer, intent(in) :: win
2413   integer, intent(out) :: ierror
2414 end subroutine MPI_Win_flush
2415 
2416 end interface
2417 
2418 
2419 interface MPI_Win_flush_all
2420 
2421 subroutine MPI_Win_flush_all(win, ierror)
2422   integer, intent(in) :: win
2423   integer, intent(out) :: ierror
2424 end subroutine MPI_Win_flush_all
2425 
2426 end interface
2427 
2428 
2429 interface MPI_Win_flush_local
2430 
2431 subroutine MPI_Win_flush_local(rank, win, ierror)
2432   integer, intent(in) :: rank
2433   integer, intent(in) :: win
2434   integer, intent(out) :: ierror
2435 end subroutine MPI_Win_flush_local
2436 
2437 end interface
2438 
2439 
2440 interface MPI_Win_flush_local_all
2441 
2442 subroutine MPI_Win_flush_local_all(win, ierror)
2443   integer, intent(in) :: win
2444   integer, intent(out) :: ierror
2445 end subroutine MPI_Win_flush_local_all
2446 
2447 end interface

/* [<][>][^][v][top][bottom][index][help] */