root/ompi/mpi/fortran/use-mpi-tkr/pmpi-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-2018 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 PMPI_Wtick
  24 
  25 function PMPI_Wtick()
  26     double precision PMPI_Wtick
  27 end function PMPI_Wtick
  28 
  29 end interface
  30 
  31 
  32 interface PMPI_Wtime
  33 
  34 function PMPI_Wtime()
  35     double precision PMPI_Wtime
  36 end function PMPI_Wtime
  37 
  38 end interface
  39 
  40 
  41 interface PMPI_Abort
  42 
  43 subroutine PMPI_Abort(comm, errorcode, ierror)
  44   integer, intent(in) :: comm
  45   integer, intent(in) :: errorcode
  46   integer, intent(out) :: ierror
  47 end subroutine PMPI_Abort
  48 
  49 end interface
  50 
  51 
  52 interface PMPI_Add_error_class
  53 
  54 subroutine PMPI_Add_error_class(errorclass, ierror)
  55   integer, intent(out) :: errorclass
  56   integer, intent(out) :: ierror
  57 end subroutine PMPI_Add_error_class
  58 
  59 end interface
  60 
  61 
  62 interface PMPI_Add_error_code
  63 
  64 subroutine PMPI_Add_error_code(errorclass, errorcode, ierror)
  65   integer, intent(in) :: errorclass
  66   integer, intent(out) :: errorcode
  67   integer, intent(out) :: ierror
  68 end subroutine PMPI_Add_error_code
  69 
  70 end interface
  71 
  72 
  73 interface PMPI_Add_error_string
  74 
  75 subroutine PMPI_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 PMPI_Add_error_string
  80 
  81 end interface
  82 
  83 interface PMPI_Aint_add
  84 
  85 function PMPI_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) PMPI_Aint_add
  90 end function PMPI_Aint_add
  91 
  92 end interface
  93 
  94 interface PMPI_Aint_diff
  95 
  96 function PMPI_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) PMPI_Aint_diff
 101 end function PMPI_Aint_diff
 102 
 103 end interface
 104 
 105 
 106 interface PMPI_Barrier
 107 
 108 subroutine PMPI_Barrier(comm, ierror)
 109   integer, intent(in) :: comm
 110   integer, intent(out) :: ierror
 111 end subroutine PMPI_Barrier
 112 
 113 end interface
 114 
 115 
 116 interface PMPI_Ibarrier
 117 
 118 subroutine PMPI_Ibarrier(comm, request, ierror)
 119   integer, intent(in) :: comm
 120   integer, intent(out) :: request
 121   integer, intent(out) :: ierror
 122 end subroutine PMPI_Ibarrier
 123 
 124 end interface
 125 
 126 
 127 interface PMPI_Cancel
 128 
 129 subroutine PMPI_Cancel(request, ierror)
 130   integer, intent(in) :: request
 131   integer, intent(out) :: ierror
 132 end subroutine PMPI_Cancel
 133 
 134 end interface
 135 
 136 
 137 interface PMPI_Cart_coords
 138 
 139 subroutine PMPI_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 PMPI_Cart_coords
 146 
 147 end interface
 148 
 149 
 150 interface PMPI_Cart_create
 151 
 152 subroutine PMPI_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 PMPI_Cart_create
 162 
 163 end interface
 164 
 165 
 166 interface PMPI_Cart_get
 167 
 168 subroutine PMPI_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 PMPI_Cart_get
 177 
 178 end interface
 179 
 180 
 181 interface PMPI_Cart_map
 182 
 183 subroutine PMPI_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 PMPI_Cart_map
 192 
 193 end interface
 194 
 195 
 196 interface PMPI_Cart_rank
 197 
 198 subroutine PMPI_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 PMPI_Cart_rank
 204 
 205 end interface
 206 
 207 
 208 interface PMPI_Cart_shift
 209 
 210 subroutine PMPI_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 PMPI_Cart_shift
 219 
 220 end interface
 221 
 222 
 223 interface PMPI_Cart_sub
 224 
 225 subroutine PMPI_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 PMPI_Cart_sub
 231 
 232 end interface
 233 
 234 
 235 interface PMPI_Cartdim_get
 236 
 237 subroutine PMPI_Cartdim_get(comm, ndims, ierror)
 238   integer, intent(in) :: comm
 239   integer, intent(out) :: ndims
 240   integer, intent(out) :: ierror
 241 end subroutine PMPI_Cartdim_get
 242 
 243 end interface
 244 
 245 
 246 interface PMPI_Comm_call_errhandler
 247 
 248 subroutine PMPI_Comm_call_errhandler(comm, errorcode, ierror)
 249   integer, intent(in) :: comm
 250   integer, intent(in) :: errorcode
 251   integer, intent(out) :: ierror
 252 end subroutine PMPI_Comm_call_errhandler
 253 
 254 end interface
 255 
 256 
 257 interface PMPI_Comm_compare
 258 
 259 subroutine PMPI_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 PMPI_Comm_compare
 265 
 266 end interface
 267 
 268 
 269 interface PMPI_Comm_create
 270 
 271 subroutine PMPI_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 PMPI_Comm_create
 277 
 278 end interface
 279 
 280 
 281 interface PMPI_Comm_create_group
 282 
 283 subroutine PMPI_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 PMPI_Comm_create_group
 290 
 291 end interface
 292 
 293 
 294 interface PMPI_Comm_create_errhandler
 295 
 296 subroutine PMPI_Comm_create_errhandler(function, errhandler, ierror)
 297   external :: function
 298   integer, intent(out) :: errhandler
 299   integer, intent(out) :: ierror
 300 end subroutine PMPI_Comm_create_errhandler
 301 
 302 end interface
 303 
 304 
 305 interface PMPI_Comm_create_keyval
 306 
 307 subroutine PMPI_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 PMPI_Comm_create_keyval
 315 
 316 end interface
 317 
 318 
 319 interface PMPI_Comm_delete_attr
 320 
 321 subroutine PMPI_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 PMPI_Comm_delete_attr
 326 
 327 end interface
 328 
 329 
 330 interface PMPI_Comm_dup
 331 
 332 subroutine PMPI_Comm_dup(comm, newcomm, ierror)
 333   integer, intent(in) :: comm
 334   integer, intent(out) :: newcomm
 335   integer, intent(out) :: ierror
 336 end subroutine PMPI_Comm_dup
 337 
 338 end interface
 339 
 340 
 341 interface PMPI_Comm_dup_with_info
 342 
 343 subroutine PMPI_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 PMPI_Comm_dup_with_info
 349 
 350 end interface
 351 
 352 
 353 interface PMPI_Comm_idup
 354 
 355 subroutine PMPI_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 PMPI_Comm_idup
 361 
 362 end interface
 363 
 364 
 365 interface PMPI_Comm_free
 366 
 367 subroutine PMPI_Comm_free(comm, ierror)
 368   integer, intent(inout) :: comm
 369   integer, intent(out) :: ierror
 370 end subroutine PMPI_Comm_free
 371 
 372 end interface
 373 
 374 
 375 interface PMPI_Comm_free_keyval
 376 
 377 subroutine PMPI_Comm_free_keyval(comm_keyval, ierror)
 378   integer, intent(inout) :: comm_keyval
 379   integer, intent(out) :: ierror
 380 end subroutine PMPI_Comm_free_keyval
 381 
 382 end interface
 383 
 384 
 385 interface PMPI_Comm_get_info
 386 
 387 subroutine PMPI_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 PMPI_Comm_get_info
 393 
 394 end interface
 395 
 396 
 397 interface PMPI_Comm_get_attr
 398 
 399 subroutine PMPI_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 PMPI_Comm_get_attr
 407 
 408 end interface
 409 
 410 
 411 interface PMPI_Comm_get_errhandler
 412 
 413 subroutine PMPI_Comm_get_errhandler(comm, erhandler, ierror)
 414   integer, intent(in) :: comm
 415   integer, intent(out) :: erhandler
 416   integer, intent(out) :: ierror
 417 end subroutine PMPI_Comm_get_errhandler
 418 
 419 end interface
 420 
 421 
 422 interface PMPI_Comm_get_name
 423 
 424 subroutine PMPI_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 PMPI_Comm_get_name
 430 
 431 end interface
 432 
 433 
 434 interface PMPI_Comm_group
 435 
 436 subroutine PMPI_Comm_group(comm, group, ierror)
 437   integer, intent(in) :: comm
 438   integer, intent(out) :: group
 439   integer, intent(out) :: ierror
 440 end subroutine PMPI_Comm_group
 441 
 442 end interface
 443 
 444 
 445 interface PMPI_Comm_rank
 446 
 447 subroutine PMPI_Comm_rank(comm, rank, ierror)
 448   integer, intent(in) :: comm
 449   integer, intent(out) :: rank
 450   integer, intent(out) :: ierror
 451 end subroutine PMPI_Comm_rank
 452 
 453 end interface
 454 
 455 
 456 interface PMPI_Comm_remote_group
 457 
 458 subroutine PMPI_Comm_remote_group(comm, group, ierror)
 459   integer, intent(in) :: comm
 460   integer, intent(out) :: group
 461   integer, intent(out) :: ierror
 462 end subroutine PMPI_Comm_remote_group
 463 
 464 end interface
 465 
 466 
 467 interface PMPI_Comm_remote_size
 468 
 469 subroutine PMPI_Comm_remote_size(comm, size, ierror)
 470   integer, intent(in) :: comm
 471   integer, intent(out) :: size
 472   integer, intent(out) :: ierror
 473 end subroutine PMPI_Comm_remote_size
 474 
 475 end interface
 476 
 477 
 478 interface PMPI_Comm_set_info
 479 
 480 subroutine PMPI_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 PMPI_Comm_set_info
 486 
 487 end interface
 488 
 489 
 490 interface PMPI_Comm_set_attr
 491 
 492 subroutine PMPI_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 PMPI_Comm_set_attr
 499 
 500 end interface
 501 
 502 
 503 interface PMPI_Comm_set_errhandler
 504 
 505 subroutine PMPI_Comm_set_errhandler(comm, errhandler, ierror)
 506   integer, intent(in) :: comm
 507   integer, intent(in) :: errhandler
 508   integer, intent(out) :: ierror
 509 end subroutine PMPI_Comm_set_errhandler
 510 
 511 end interface
 512 
 513 
 514 interface PMPI_Comm_set_name
 515 
 516 subroutine PMPI_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 PMPI_Comm_set_name
 521 
 522 end interface
 523 
 524 
 525 interface PMPI_Comm_size
 526 
 527 subroutine PMPI_Comm_size(comm, size, ierror)
 528   integer, intent(in) :: comm
 529   integer, intent(out) :: size
 530   integer, intent(out) :: ierror
 531 end subroutine PMPI_Comm_size
 532 
 533 end interface
 534 
 535 
 536 interface PMPI_Comm_split
 537 
 538 subroutine PMPI_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 PMPI_Comm_split
 545 
 546 end interface
 547 
 548 
 549 interface PMPI_Comm_test_inter
 550 
 551 subroutine PMPI_Comm_test_inter(comm, flag, ierror)
 552   integer, intent(in) :: comm
 553   logical, intent(out) :: flag
 554   integer, intent(out) :: ierror
 555 end subroutine PMPI_Comm_test_inter
 556 
 557 end interface
 558 
 559 
 560 interface PMPI_Dims_create
 561 
 562 subroutine PMPI_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 PMPI_Dims_create
 568 
 569 end interface
 570 
 571 
 572 interface PMPI_Errhandler_free
 573 
 574 subroutine PMPI_Errhandler_free(errhandler, ierror)
 575   integer, intent(inout) :: errhandler
 576   integer, intent(out) :: ierror
 577 end subroutine PMPI_Errhandler_free
 578 
 579 end interface
 580 
 581 
 582 interface PMPI_Error_class
 583 
 584 subroutine PMPI_Error_class(errorcode, errorclass, ierror)
 585   integer, intent(in) :: errorcode
 586   integer, intent(out) :: errorclass
 587   integer, intent(out) :: ierror
 588 end subroutine PMPI_Error_class
 589 
 590 end interface
 591 
 592 
 593 interface PMPI_Error_string
 594 
 595 subroutine PMPI_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 PMPI_Error_string
 601 
 602 end interface
 603 
 604 
 605 interface PMPI_Finalize
 606 
 607 subroutine PMPI_Finalize(ierror)
 608   integer, intent(out) :: ierror
 609 end subroutine PMPI_Finalize
 610 
 611 end interface
 612 
 613 
 614 interface PMPI_Finalized
 615 
 616 subroutine PMPI_Finalized(flag, ierror)
 617   logical, intent(out) :: flag
 618   integer, intent(out) :: ierror
 619 end subroutine PMPI_Finalized
 620 
 621 end interface
 622 
 623 
 624 interface PMPI_Get_count
 625 
 626 subroutine PMPI_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 PMPI_Get_count
 633 
 634 end interface
 635 
 636 
 637 interface PMPI_Get_elements
 638 
 639 subroutine PMPI_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 PMPI_Get_elements
 646 
 647 end interface
 648 
 649 
 650 interface PMPI_Get_elements_x
 651 
 652 subroutine PMPI_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 PMPI_Get_elements_x
 659 
 660 end interface
 661 
 662 
 663 interface PMPI_Get_processor_name
 664 
 665 subroutine PMPI_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 PMPI_Get_processor_name
 670 
 671 end interface
 672 
 673 
 674 interface PMPI_Get_version
 675 
 676 subroutine PMPI_Get_version(version, subversion, ierror)
 677   integer, intent(out) :: version
 678   integer, intent(out) :: subversion
 679   integer, intent(out) :: ierror
 680 end subroutine PMPI_Get_version
 681 
 682 end interface
 683 
 684 
 685 interface PMPI_Graph_create
 686 
 687 subroutine PMPI_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 PMPI_Graph_create
 697 
 698 end interface
 699 
 700 
 701 interface PMPI_Graph_get
 702 
 703 subroutine PMPI_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 PMPI_Graph_get
 712 
 713 end interface
 714 
 715 
 716 interface PMPI_Graph_map
 717 
 718 subroutine PMPI_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 PMPI_Graph_map
 727 
 728 end interface
 729 
 730 
 731 interface PMPI_Graph_neighbors
 732 
 733 subroutine PMPI_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 PMPI_Graph_neighbors
 740 
 741 end interface
 742 
 743 
 744 interface PMPI_Graph_neighbors_count
 745 
 746 subroutine PMPI_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 PMPI_Graph_neighbors_count
 752 
 753 end interface
 754 
 755 
 756 interface PMPI_Graphdims_get
 757 
 758 subroutine PMPI_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 PMPI_Graphdims_get
 764 
 765 end interface
 766 
 767 
 768 interface PMPI_Grequest_complete
 769 
 770 subroutine PMPI_Grequest_complete(request, ierror)
 771   integer, intent(in) :: request
 772   integer, intent(out) :: ierror
 773 end subroutine PMPI_Grequest_complete
 774 
 775 end interface
 776 
 777 
 778 interface PMPI_Grequest_start
 779 
 780 subroutine PMPI_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 PMPI_Grequest_start
 790 
 791 end interface
 792 
 793 
 794 interface PMPI_Group_compare
 795 
 796 subroutine PMPI_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 PMPI_Group_compare
 802 
 803 end interface
 804 
 805 
 806 interface PMPI_Group_difference
 807 
 808 subroutine PMPI_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 PMPI_Group_difference
 814 
 815 end interface
 816 
 817 
 818 interface PMPI_Group_excl
 819 
 820 subroutine PMPI_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 PMPI_Group_excl
 827 
 828 end interface
 829 
 830 
 831 interface PMPI_Group_free
 832 
 833 subroutine PMPI_Group_free(group, ierror)
 834   integer, intent(inout) :: group
 835   integer, intent(out) :: ierror
 836 end subroutine PMPI_Group_free
 837 
 838 end interface
 839 
 840 
 841 interface PMPI_Group_incl
 842 
 843 subroutine PMPI_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 PMPI_Group_incl
 850 
 851 end interface
 852 
 853 
 854 interface PMPI_Group_intersection
 855 
 856 subroutine PMPI_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 PMPI_Group_intersection
 862 
 863 end interface
 864 
 865 
 866 interface PMPI_Group_range_excl
 867 
 868 subroutine PMPI_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 PMPI_Group_range_excl
 875 
 876 end interface
 877 
 878 
 879 interface PMPI_Group_range_incl
 880 
 881 subroutine PMPI_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 PMPI_Group_range_incl
 888 
 889 end interface
 890 
 891 
 892 interface PMPI_Group_rank
 893 
 894 subroutine PMPI_Group_rank(group, rank, ierror)
 895   integer, intent(in) :: group
 896   integer, intent(out) :: rank
 897   integer, intent(out) :: ierror
 898 end subroutine PMPI_Group_rank
 899 
 900 end interface
 901 
 902 
 903 interface PMPI_Group_size
 904 
 905 subroutine PMPI_Group_size(group, size, ierror)
 906   integer, intent(in) :: group
 907   integer, intent(out) :: size
 908   integer, intent(out) :: ierror
 909 end subroutine PMPI_Group_size
 910 
 911 end interface
 912 
 913 
 914 interface PMPI_Group_translate_ranks
 915 
 916 subroutine PMPI_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 PMPI_Group_translate_ranks
 925 
 926 end interface
 927 
 928 
 929 interface PMPI_Group_union
 930 
 931 subroutine PMPI_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 PMPI_Group_union
 937 
 938 end interface
 939 
 940 
 941 interface PMPI_Info_create
 942 
 943 subroutine PMPI_Info_create(info, ierror)
 944   integer, intent(out) :: info
 945   integer, intent(out) :: ierror
 946 end subroutine PMPI_Info_create
 947 
 948 end interface
 949 
 950 
 951 interface PMPI_Info_delete
 952 
 953 subroutine PMPI_Info_delete(info, key, ierror)
 954   integer, intent(in) :: info
 955   character(len=*), intent(in) :: key
 956   integer, intent(out) :: ierror
 957 end subroutine PMPI_Info_delete
 958 
 959 end interface
 960 
 961 
 962 interface PMPI_Info_dup
 963 
 964 subroutine PMPI_Info_dup(info, newinfo, ierror)
 965   integer, intent(in) :: info
 966   integer, intent(out) :: newinfo
 967   integer, intent(out) :: ierror
 968 end subroutine PMPI_Info_dup
 969 
 970 end interface
 971 
 972 
 973 interface PMPI_Info_free
 974 
 975 subroutine PMPI_Info_free(info, ierror)
 976   integer, intent(inout) :: info
 977   integer, intent(out) :: ierror
 978 end subroutine PMPI_Info_free
 979 
 980 end interface
 981 
 982 
 983 interface PMPI_Info_get
 984 
 985 subroutine PMPI_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 PMPI_Info_get
 994 
 995 end interface
 996 
 997 
 998 interface PMPI_Info_get_nkeys
 999 
1000 subroutine PMPI_Info_get_nkeys(info, nkeys, ierror)
1001   integer, intent(in) :: info
1002   integer, intent(out) :: nkeys
1003   integer, intent(out) :: ierror
1004 end subroutine PMPI_Info_get_nkeys
1005 
1006 end interface
1007 
1008 
1009 interface PMPI_Info_get_nthkey
1010 
1011 subroutine PMPI_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 PMPI_Info_get_nthkey
1017 
1018 end interface
1019 
1020 
1021 interface PMPI_Info_get_valuelen
1022 
1023 subroutine PMPI_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 PMPI_Info_get_valuelen
1030 
1031 end interface
1032 
1033 
1034 interface PMPI_Info_set
1035 
1036 subroutine PMPI_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 PMPI_Info_set
1042 
1043 end interface
1044 
1045 
1046 interface PMPI_Init
1047 
1048 subroutine PMPI_Init(ierror)
1049   integer, intent(out) :: ierror
1050 end subroutine PMPI_Init
1051 
1052 end interface
1053 
1054 
1055 interface PMPI_Init_thread
1056 
1057 subroutine PMPI_Init_thread(required, provided, ierror)
1058   integer, intent(in) :: required
1059   integer, intent(out) :: provided
1060   integer, intent(out) :: ierror
1061 end subroutine PMPI_Init_thread
1062 
1063 end interface
1064 
1065 
1066 interface PMPI_Initialized
1067 
1068 subroutine PMPI_Initialized(flag, ierror)
1069   logical, intent(out) :: flag
1070   integer, intent(out) :: ierror
1071 end subroutine PMPI_Initialized
1072 
1073 end interface
1074 
1075 
1076 interface PMPI_Intercomm_create
1077 
1078 subroutine PMPI_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 PMPI_Intercomm_create
1088 
1089 end interface
1090 
1091 
1092 interface PMPI_Intercomm_merge
1093 
1094 subroutine PMPI_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 PMPI_Intercomm_merge
1100 
1101 end interface
1102 
1103 
1104 interface PMPI_Iprobe
1105 
1106 subroutine PMPI_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 PMPI_Iprobe
1116 
1117 end interface
1118 
1119 
1120 interface PMPI_Is_thread_main
1121 
1122 subroutine PMPI_Is_thread_main(flag, ierror)
1123   logical, intent(out) :: flag
1124   integer, intent(out) :: ierror
1125 end subroutine PMPI_Is_thread_main
1126 
1127 end interface
1128 
1129 
1130 interface PMPI_Op_commutative
1131 
1132 subroutine PMPI_Op_commutative(op, commute, ierror)
1133   integer, intent(in) :: op
1134   logical, intent(out) :: commute
1135   integer, intent(out) :: ierror
1136 end subroutine PMPI_Op_commutative
1137 
1138 end interface
1139 
1140 
1141 interface PMPI_Op_create
1142 
1143 subroutine PMPI_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 PMPI_Op_create
1149 
1150 end interface
1151 
1152 
1153 interface PMPI_Op_free
1154 
1155 subroutine PMPI_Op_free(op, ierror)
1156   integer, intent(inout) :: op
1157   integer, intent(out) :: ierror
1158 end subroutine PMPI_Op_free
1159 
1160 end interface
1161 
1162 
1163 interface PMPI_Pack_external_size
1164 
1165 subroutine PMPI_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 PMPI_Pack_external_size
1173 
1174 end interface
1175 
1176 
1177 interface PMPI_Pack_size
1178 
1179 subroutine PMPI_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 PMPI_Pack_size
1186 
1187 end interface
1188 
1189 
1190 interface PMPI_Pcontrol
1191 
1192 subroutine PMPI_Pcontrol(level)
1193   integer, intent(in) :: level
1194 
1195 end subroutine PMPI_Pcontrol
1196 
1197 end interface
1198 
1199 
1200 interface PMPI_Probe
1201 
1202 subroutine PMPI_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 PMPI_Probe
1210 
1211 end interface
1212 
1213 
1214 interface PMPI_Query_thread
1215 
1216 subroutine PMPI_Query_thread(provided, ierror)
1217   integer, intent(out) :: provided
1218   integer, intent(out) :: ierror
1219 end subroutine PMPI_Query_thread
1220 
1221 end interface
1222 
1223 
1224 interface PMPI_Register_datarep
1225 
1226 subroutine PMPI_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 PMPI_Register_datarep
1236 
1237 end interface
1238 
1239 
1240 interface PMPI_Request_free
1241 
1242 subroutine PMPI_Request_free(request, ierror)
1243   integer, intent(inout) :: request
1244   integer, intent(out) :: ierror
1245 end subroutine PMPI_Request_free
1246 
1247 end interface
1248 
1249 
1250 interface PMPI_Request_get_status
1251 
1252 subroutine PMPI_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 PMPI_Request_get_status
1259 
1260 end interface
1261 
1262 
1263 interface PMPI_Start
1264 
1265 subroutine PMPI_Start(request, ierror)
1266   integer, intent(inout) :: request
1267   integer, intent(out) :: ierror
1268 end subroutine PMPI_Start
1269 
1270 end interface
1271 
1272 
1273 interface PMPI_Startall
1274 
1275 subroutine PMPI_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 PMPI_Startall
1280 
1281 end interface
1282 
1283 
1284 interface PMPI_Status_set_cancelled
1285 
1286 subroutine PMPI_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 PMPI_Status_set_cancelled
1292 
1293 end interface
1294 
1295 
1296 interface PMPI_Status_set_elements
1297 
1298 subroutine PMPI_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 PMPI_Status_set_elements
1305 
1306 end interface
1307 
1308 
1309 interface PMPI_Test
1310 
1311 subroutine PMPI_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 PMPI_Test
1318 
1319 end interface
1320 
1321 
1322 interface PMPI_Test_cancelled
1323 
1324 subroutine PMPI_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 PMPI_Test_cancelled
1330 
1331 end interface
1332 
1333 
1334 interface PMPI_Testall
1335 
1336 subroutine PMPI_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 PMPI_Testall
1344 
1345 end interface
1346 
1347 
1348 interface PMPI_Testany
1349 
1350 subroutine PMPI_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 PMPI_Testany
1360 
1361 end interface
1362 
1363 
1364 interface PMPI_Testsome
1365 
1366 subroutine PMPI_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 PMPI_Testsome
1376 
1377 end interface
1378 
1379 
1380 interface PMPI_Topo_test
1381 
1382 subroutine PMPI_Topo_test(comm, status, ierror)
1383   integer, intent(in) :: comm
1384   integer, intent(out) :: status
1385   integer, intent(out) :: ierror
1386 end subroutine PMPI_Topo_test
1387 
1388 end interface
1389 
1390 
1391 interface PMPI_Type_commit
1392 
1393 subroutine PMPI_Type_commit(datatype, ierror)
1394   integer, intent(inout) :: datatype
1395   integer, intent(out) :: ierror
1396 end subroutine PMPI_Type_commit
1397 
1398 end interface
1399 
1400 
1401 interface PMPI_Type_contiguous
1402 
1403 subroutine PMPI_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 PMPI_Type_contiguous
1409 
1410 end interface
1411 
1412 
1413 interface PMPI_Type_create_darray
1414 
1415 subroutine PMPI_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 PMPI_Type_create_darray
1429 
1430 end interface
1431 
1432 
1433 interface PMPI_Type_create_f90_complex
1434 
1435 subroutine PMPI_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 PMPI_Type_create_f90_complex
1441 
1442 end interface
1443 
1444 
1445 interface PMPI_Type_create_f90_integer
1446 
1447 subroutine PMPI_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 PMPI_Type_create_f90_integer
1452 
1453 end interface
1454 
1455 
1456 interface PMPI_Type_create_f90_real
1457 
1458 subroutine PMPI_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 PMPI_Type_create_f90_real
1464 
1465 end interface
1466 
1467 
1468 interface PMPI_Type_create_hindexed
1469 
1470 subroutine PMPI_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 PMPI_Type_create_hindexed
1480 
1481 end interface
1482 
1483 
1484 interface PMPI_Type_create_hvector
1485 
1486 subroutine PMPI_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 PMPI_Type_create_hvector
1496 
1497 end interface
1498 
1499 
1500 interface PMPI_Type_create_indexed_block
1501 
1502 subroutine PMPI_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 PMPI_Type_create_indexed_block
1511 
1512 end interface
1513 
1514 
1515 interface PMPI_Type_create_keyval
1516 
1517 subroutine PMPI_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 PMPI_Type_create_keyval
1525 
1526 end interface
1527 
1528 
1529 interface PMPI_Type_create_resized
1530 
1531 subroutine PMPI_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 PMPI_Type_create_resized
1539 
1540 end interface
1541 
1542 
1543 interface PMPI_Type_create_struct
1544 
1545 subroutine PMPI_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 PMPI_Type_create_struct
1555 
1556 end interface
1557 
1558 
1559 interface PMPI_Type_create_subarray
1560 
1561 subroutine PMPI_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 PMPI_Type_create_subarray
1572 
1573 end interface
1574 
1575 
1576 interface PMPI_Type_delete_attr
1577 
1578 subroutine PMPI_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 PMPI_Type_delete_attr
1583 
1584 end interface
1585 
1586 
1587 interface PMPI_Type_dup
1588 
1589 subroutine PMPI_Type_dup(datatype, newtype, ierror)
1590   integer, intent(in) :: datatype
1591   integer, intent(out) :: newtype
1592   integer, intent(out) :: ierror
1593 end subroutine PMPI_Type_dup
1594 
1595 end interface
1596 
1597 
1598 interface PMPI_Type_free
1599 
1600 subroutine PMPI_Type_free(datatype, ierror)
1601   integer, intent(inout) :: datatype
1602   integer, intent(out) :: ierror
1603 end subroutine PMPI_Type_free
1604 
1605 end interface
1606 
1607 
1608 interface PMPI_Type_free_keyval
1609 
1610 subroutine PMPI_Type_free_keyval(type_keyval, ierror)
1611   integer, intent(inout) :: type_keyval
1612   integer, intent(out) :: ierror
1613 end subroutine PMPI_Type_free_keyval
1614 
1615 end interface
1616 
1617 
1618 interface PMPI_Type_get_attr
1619 
1620 subroutine PMPI_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 PMPI_Type_get_attr
1628 
1629 end interface
1630 
1631 
1632 interface PMPI_Type_get_contents
1633 
1634 subroutine PMPI_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 PMPI_Type_get_contents
1646 
1647 end interface
1648 
1649 
1650 interface PMPI_Type_get_envelope
1651 
1652 subroutine PMPI_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 PMPI_Type_get_envelope
1661 
1662 end interface
1663 
1664 
1665 interface PMPI_Type_get_extent
1666 
1667 subroutine PMPI_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 PMPI_Type_get_extent
1674 
1675 end interface
1676 
1677 
1678 interface PMPI_Type_get_extent_x
1679 
1680 subroutine PMPI_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 PMPI_Type_get_extent_x
1687 
1688 end interface
1689 
1690 
1691 interface PMPI_Type_get_name
1692 
1693 subroutine PMPI_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 PMPI_Type_get_name
1699 
1700 end interface
1701 
1702 
1703 interface PMPI_Type_get_true_extent
1704 
1705 subroutine PMPI_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 PMPI_Type_get_true_extent
1712 
1713 end interface
1714 
1715 
1716 interface PMPI_Type_get_true_extent_x
1717 
1718 subroutine PMPI_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 PMPI_Type_get_true_extent_x
1725 
1726 end interface
1727 
1728 
1729 interface PMPI_Type_indexed
1730 
1731 subroutine PMPI_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 PMPI_Type_indexed
1740 
1741 end interface
1742 
1743 
1744 interface PMPI_Type_match_size
1745 
1746 subroutine PMPI_Type_match_size(typeclass, size, datatype, ierror)
1747   integer, intent(in) :: typeclass
1748   integer, intent(in) :: size
1749   integer, intent(out) :: datatype
1750   integer, intent(out) :: ierror
1751 end subroutine PMPI_Type_match_size
1752 
1753 end interface
1754 
1755 
1756 interface PMPI_Type_set_attr
1757 
1758 subroutine PMPI_Type_set_attr(datatype, type_keyval, attr_val, ierror)
1759   include 'mpif-config.h'
1760   integer, intent(in) :: datatype
1761   integer, intent(in) :: type_keyval
1762   integer(kind=MPI_ADDRESS_KIND), intent(in) :: attr_val
1763   integer, intent(out) :: ierror
1764 end subroutine PMPI_Type_set_attr
1765 
1766 end interface
1767 
1768 
1769 interface PMPI_Type_set_name
1770 
1771 subroutine PMPI_Type_set_name(datatype, type_name, ierror)
1772   integer, intent(in) :: datatype
1773   character(len=*), intent(in) :: type_name
1774   integer, intent(out) :: ierror
1775 end subroutine PMPI_Type_set_name
1776 
1777 end interface
1778 
1779 
1780 interface PMPI_Type_size
1781 
1782 subroutine PMPI_Type_size(datatype, size, ierror)
1783   integer, intent(in) :: datatype
1784   integer, intent(out) :: size
1785   integer, intent(out) :: ierror
1786 end subroutine PMPI_Type_size
1787 
1788 end interface
1789 
1790 
1791 interface PMPI_Type_size_x
1792 
1793 subroutine PMPI_Type_size_x(datatype, size, ierror)
1794   include 'mpif-config.h'
1795   integer, intent(in) :: datatype
1796   integer(kind=MPI_COUNT_KIND), intent(out) :: size
1797   integer, intent(out) :: ierror
1798 end subroutine PMPI_Type_size_x
1799 
1800 end interface
1801 
1802 
1803 interface PMPI_Type_vector
1804 
1805 subroutine PMPI_Type_vector(count, blocklength, stride, oldtype, newtype&
1806         , ierror)
1807   integer, intent(in) :: count
1808   integer, intent(in) :: blocklength
1809   integer, intent(in) :: stride
1810   integer, intent(in) :: oldtype
1811   integer, intent(out) :: newtype
1812   integer, intent(out) :: ierror
1813 end subroutine PMPI_Type_vector
1814 
1815 end interface
1816 
1817 
1818 interface PMPI_Wait
1819 
1820 subroutine PMPI_Wait(request, status, ierror)
1821   include 'mpif-config.h'
1822   integer, intent(inout) :: request
1823   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1824   integer, intent(out) :: ierror
1825 end subroutine PMPI_Wait
1826 
1827 end interface
1828 
1829 
1830 interface PMPI_Waitall
1831 
1832 subroutine PMPI_Waitall(count, array_of_requests, array_of_statuses, ierror)
1833   include 'mpif-config.h'
1834   integer, intent(in) :: count
1835   integer, dimension(count), intent(inout) :: array_of_requests
1836   integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses
1837   integer, intent(out) :: ierror
1838 end subroutine PMPI_Waitall
1839 
1840 end interface
1841 
1842 
1843 interface PMPI_Waitany
1844 
1845 subroutine PMPI_Waitany(count, array_of_requests, index, status, ierror)
1846   include 'mpif-config.h'
1847   integer, intent(in) :: count
1848   integer, dimension(count), intent(inout) :: array_of_requests
1849   integer, intent(out) :: index
1850   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
1851   integer, intent(out) :: ierror
1852 end subroutine PMPI_Waitany
1853 
1854 end interface
1855 
1856 
1857 interface PMPI_Waitsome
1858 
1859 subroutine PMPI_Waitsome(incount, array_of_requests, outcount, array_of_indices, array_of_statuses&
1860         , ierror)
1861   include 'mpif-config.h'
1862   integer, intent(in) :: incount
1863   integer, dimension(incount), intent(inout) :: array_of_requests
1864   integer, intent(out) :: outcount
1865   integer, dimension(*), intent(out) :: array_of_indices
1866   integer, dimension(MPI_STATUS_SIZE, *), intent(out) :: array_of_statuses
1867   integer, intent(out) :: ierror
1868 end subroutine PMPI_Waitsome
1869 
1870 end interface
1871 
1872 
1873 interface PMPI_Win_call_errhandler
1874 
1875 subroutine PMPI_Win_call_errhandler(win, errorcode, ierror)
1876   integer, intent(in) :: win
1877   integer, intent(in) :: errorcode
1878   integer, intent(out) :: ierror
1879 end subroutine PMPI_Win_call_errhandler
1880 
1881 end interface
1882 
1883 
1884 interface PMPI_Win_complete
1885 
1886 subroutine PMPI_Win_complete(win, ierror)
1887   integer, intent(in) :: win
1888   integer, intent(out) :: ierror
1889 end subroutine PMPI_Win_complete
1890 
1891 end interface
1892 
1893 
1894 interface PMPI_Win_create_errhandler
1895 
1896 subroutine PMPI_Win_create_errhandler(function, errhandler, ierror)
1897   external :: function
1898   integer, intent(out) :: errhandler
1899   integer, intent(out) :: ierror
1900 end subroutine PMPI_Win_create_errhandler
1901 
1902 end interface
1903 
1904 
1905 interface PMPI_Win_create_keyval
1906 
1907 subroutine PMPI_Win_create_keyval(win_copy_attr_fn, win_delete_attr_fn, win_keyval, extra_state, ierror)
1908   include 'mpif-config.h'
1909   external :: win_copy_attr_fn
1910   external :: win_delete_attr_fn
1911   integer, intent(out) :: win_keyval
1912   integer(kind=MPI_ADDRESS_KIND), intent(in) :: extra_state
1913   integer, intent(out) :: ierror
1914 end subroutine PMPI_Win_create_keyval
1915 
1916 end interface
1917 
1918 
1919 interface PMPI_Win_delete_attr
1920 
1921 subroutine PMPI_Win_delete_attr(win, win_keyval, ierror)
1922   integer, intent(in) :: win
1923   integer, intent(in) :: win_keyval
1924   integer, intent(out) :: ierror
1925 end subroutine PMPI_Win_delete_attr
1926 
1927 end interface
1928 
1929 
1930 interface PMPI_Win_fence
1931 
1932 subroutine PMPI_Win_fence(assert, win, ierror)
1933   integer, intent(in) :: assert
1934   integer, intent(in) :: win
1935   integer, intent(out) :: ierror
1936 end subroutine PMPI_Win_fence
1937 
1938 end interface
1939 
1940 
1941 interface PMPI_Win_free
1942 
1943 subroutine PMPI_Win_free(win, ierror)
1944   integer, intent(inout) :: win
1945   integer, intent(out) :: ierror
1946 end subroutine PMPI_Win_free
1947 
1948 end interface
1949 
1950 
1951 interface PMPI_Win_free_keyval
1952 
1953 subroutine PMPI_Win_free_keyval(win_keyval, ierror)
1954   integer, intent(inout) :: win_keyval
1955   integer, intent(out) :: ierror
1956 end subroutine PMPI_Win_free_keyval
1957 
1958 end interface
1959 
1960 
1961 interface PMPI_Win_get_attr
1962 
1963 subroutine PMPI_Win_get_attr(win, win_keyval, attribute_val, flag, ierror)
1964   include 'mpif-config.h'
1965   integer, intent(in) :: win
1966   integer, intent(in) :: win_keyval
1967   integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
1968   logical, intent(out) :: flag
1969   integer, intent(out) :: ierror
1970 end subroutine PMPI_Win_get_attr
1971 
1972 end interface
1973 
1974 
1975 interface PMPI_Win_get_errhandler
1976 
1977 subroutine PMPI_Win_get_errhandler(win, errhandler, ierror)
1978   integer, intent(in) :: win
1979   integer, intent(out) :: errhandler
1980   integer, intent(out) :: ierror
1981 end subroutine PMPI_Win_get_errhandler
1982 
1983 end interface
1984 
1985 
1986 interface PMPI_Win_get_group
1987 
1988 subroutine PMPI_Win_get_group(win, group, ierror)
1989   integer, intent(in) :: win
1990   integer, intent(out) :: group
1991   integer, intent(out) :: ierror
1992 end subroutine PMPI_Win_get_group
1993 
1994 end interface
1995 
1996 
1997 interface PMPI_Win_get_name
1998 
1999 subroutine PMPI_Win_get_name(win, win_name, resultlen, ierror)
2000   integer, intent(in) :: win
2001   character(len=*), intent(out) :: win_name
2002   integer, intent(out) :: resultlen
2003   integer, intent(out) :: ierror
2004 end subroutine PMPI_Win_get_name
2005 
2006 end interface
2007 
2008 
2009 interface PMPI_Win_lock
2010 
2011 subroutine PMPI_Win_lock(lock_type, rank, assert, win, ierror)
2012   integer, intent(in) :: lock_type
2013   integer, intent(in) :: rank
2014   integer, intent(in) :: assert
2015   integer, intent(in) :: win
2016   integer, intent(out) :: ierror
2017 end subroutine PMPI_Win_lock
2018 
2019 end interface
2020 
2021 
2022 interface PMPI_Win_post
2023 
2024 subroutine PMPI_Win_post(group, assert, win, ierror)
2025   integer, intent(in) :: group
2026   integer, intent(in) :: assert
2027   integer, intent(in) :: win
2028   integer, intent(out) :: ierror
2029 end subroutine PMPI_Win_post
2030 
2031 end interface
2032 
2033 
2034 interface PMPI_Win_set_attr
2035 
2036 subroutine PMPI_Win_set_attr(win, win_keyval, attribute_val, ierror)
2037   include 'mpif-config.h'
2038   integer, intent(in) :: win
2039   integer, intent(in) :: win_keyval
2040   integer(kind=MPI_ADDRESS_KIND), intent(in) :: attribute_val
2041   integer, intent(out) :: ierror
2042 end subroutine PMPI_Win_set_attr
2043 
2044 end interface
2045 
2046 
2047 interface PMPI_Win_set_errhandler
2048 
2049 subroutine PMPI_Win_set_errhandler(win, errhandler, ierror)
2050   integer, intent(in) :: win
2051   integer, intent(in) :: errhandler
2052   integer, intent(out) :: ierror
2053 end subroutine PMPI_Win_set_errhandler
2054 
2055 end interface
2056 
2057 
2058 interface PMPI_Win_set_name
2059 
2060 subroutine PMPI_Win_set_name(win, win_name, ierror)
2061   integer, intent(in) :: win
2062   character(len=*), intent(in) :: win_name
2063   integer, intent(out) :: ierror
2064 end subroutine PMPI_Win_set_name
2065 
2066 end interface
2067 
2068 
2069 interface PMPI_Win_start
2070 
2071 subroutine PMPI_Win_start(group, assert, win, ierror)
2072   integer, intent(in) :: group
2073   integer, intent(in) :: assert
2074   integer, intent(in) :: win
2075   integer, intent(out) :: ierror
2076 end subroutine PMPI_Win_start
2077 
2078 end interface
2079 
2080 
2081 interface PMPI_Win_test
2082 
2083 subroutine PMPI_Win_test(win, flag, ierror)
2084   integer, intent(in) :: win
2085   logical, intent(out) :: flag
2086   integer, intent(out) :: ierror
2087 end subroutine PMPI_Win_test
2088 
2089 end interface
2090 
2091 
2092 interface PMPI_Win_unlock
2093 
2094 subroutine PMPI_Win_unlock(rank, win, ierror)
2095   integer, intent(in) :: rank
2096   integer, intent(in) :: win
2097   integer, intent(out) :: ierror
2098 end subroutine PMPI_Win_unlock
2099 
2100 end interface
2101 
2102 
2103 interface PMPI_Win_wait
2104 
2105 subroutine PMPI_Win_wait(win, ierror)
2106   integer, intent(in) :: win
2107   integer, intent(out) :: ierror
2108 end subroutine PMPI_Win_wait
2109 
2110 end interface
2111 
2112 
2113 interface PMPI_Close_port
2114 
2115 subroutine PMPI_Close_port(port_name, ierror)
2116   character(len=*), intent(in) :: port_name
2117   integer, intent(out) :: ierror
2118 end subroutine PMPI_Close_port
2119 
2120 end interface
2121 
2122 
2123 interface PMPI_Lookup_name
2124 
2125 subroutine PMPI_Lookup_name(service_name, info, port_name, ierror)
2126   character(len=*), intent(in) :: service_name
2127   integer, intent(in) :: info
2128   character(len=*), intent(out) :: port_name
2129   integer, intent(out) :: ierror
2130 end subroutine PMPI_Lookup_name
2131 
2132 end interface
2133 
2134 
2135 interface PMPI_Open_port
2136 
2137 subroutine PMPI_Open_port(info, port_name, ierror)
2138   integer, intent(in) :: info
2139   character(len=*), intent(out) :: port_name
2140   integer, intent(out) :: ierror
2141 end subroutine PMPI_Open_port
2142 
2143 end interface
2144 
2145 
2146 interface PMPI_Publish_name
2147 
2148 subroutine PMPI_Publish_name(service_name, info, port_name, ierror)
2149   character(len=*), intent(in) :: service_name
2150   integer, intent(in) :: info
2151   character(len=*), intent(in) :: port_name
2152   integer, intent(out) :: ierror
2153 end subroutine PMPI_Publish_name
2154 
2155 end interface
2156 
2157 
2158 interface PMPI_Unpublish_name
2159 
2160 subroutine PMPI_Unpublish_name(service_name, info, port_name, ierror)
2161   character(len=*), intent(in) :: service_name
2162   integer, intent(in) :: info
2163   character(len=*), intent(in) :: port_name
2164   integer, intent(out) :: ierror
2165 end subroutine PMPI_Unpublish_name
2166 
2167 end interface
2168 
2169 
2170 interface PMPI_Comm_disconnect
2171 
2172 subroutine PMPI_Comm_disconnect(comm, ierror)
2173   integer, intent(inout) :: comm
2174   integer, intent(out) :: ierror
2175 end subroutine PMPI_Comm_disconnect
2176 
2177 end interface
2178 
2179 
2180 interface PMPI_Comm_get_parent
2181 
2182 subroutine PMPI_Comm_get_parent(parent, ierror)
2183   integer, intent(out) :: parent
2184   integer, intent(out) :: ierror
2185 end subroutine PMPI_Comm_get_parent
2186 
2187 end interface
2188 
2189 
2190 interface PMPI_Comm_join
2191 
2192 subroutine PMPI_Comm_join(fd, intercomm, ierror)
2193   integer, intent(in) :: fd
2194   integer, intent(out) :: intercomm
2195   integer, intent(out) :: ierror
2196 end subroutine PMPI_Comm_join
2197 
2198 end interface
2199 
2200 
2201 interface PMPI_Comm_accept
2202 
2203 subroutine PMPI_Comm_accept(port_name, info, root, comm, newcomm&
2204         , ierror)
2205   character(len=*), intent(in) :: port_name
2206   integer, intent(in) :: info
2207   integer, intent(in) :: root
2208   integer, intent(in) :: comm
2209   integer, intent(out) :: newcomm
2210   integer, intent(out) :: ierror
2211 end subroutine PMPI_Comm_accept
2212 
2213 end interface
2214 
2215 
2216 interface PMPI_Comm_connect
2217 
2218 subroutine PMPI_Comm_connect(port_name, info, root, comm, newcomm&
2219         , ierror)
2220   character(len=*), intent(in) :: port_name
2221   integer, intent(in) :: info
2222   integer, intent(in) :: root
2223   integer, intent(in) :: comm
2224   integer, intent(out) :: newcomm
2225   integer, intent(out) :: ierror
2226 end subroutine PMPI_Comm_connect
2227 
2228 end interface
2229 
2230 
2231 interface PMPI_Comm_spawn
2232 
2233 subroutine PMPI_Comm_spawn(command, argv, maxprocs, info, root, &
2234         comm, intercomm, array_of_errcodes, ierror)
2235   character(len=*), intent(in) :: command
2236   character(len=*), dimension(*), intent(in) :: argv
2237   integer, intent(in) :: maxprocs
2238   integer, intent(in) :: info
2239   integer, intent(in) :: root
2240   integer, intent(in) :: comm
2241   integer, intent(out) :: intercomm
2242   integer, dimension(*), intent(out) :: array_of_errcodes
2243   integer, intent(out) :: ierror
2244 end subroutine PMPI_Comm_spawn
2245 
2246 end interface
2247 
2248 
2249 interface PMPI_Comm_spawn_multiple
2250 
2251 subroutine PMPI_Comm_spawn_multiple(count, array_of_commands, array_of_argv, array_of_maxprocs, array_of_info, &
2252         root, comm, intercomm, array_of_errcodes, ierror)
2253   integer, intent(in) :: count
2254   character(len=*), dimension(*), intent(in) :: array_of_commands
2255   character(len=*), dimension(count,*), intent(in) :: array_of_argv
2256   integer, dimension(*), intent(in) :: array_of_maxprocs
2257   integer, dimension(*), intent(in) :: array_of_info
2258   integer, intent(in) :: root
2259   integer, intent(in) :: comm
2260   integer, intent(out) :: intercomm
2261   integer, dimension(*), intent(out) :: array_of_errcodes
2262   integer, intent(out) :: ierror
2263 end subroutine PMPI_Comm_spawn_multiple
2264 
2265 end interface
2266 
2267 
2268 interface PMPI_Mprobe
2269 
2270 subroutine PMPI_Mprobe(source, tag, comm, message, status, ierror)
2271   include 'mpif-config.h'
2272   integer, intent(in) :: source
2273   integer, intent(in) :: tag
2274   integer, intent(in) :: comm
2275   integer, intent(out) :: message
2276   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
2277   integer, intent(out) :: ierror
2278 end subroutine PMPI_Mprobe
2279 
2280 end interface
2281 
2282 
2283 interface PMPI_Improbe
2284 
2285 subroutine PMPI_Improbe(source, tag, comm, flag, message, status, ierror)
2286   include 'mpif-config.h'
2287   integer, intent(in) :: source
2288   integer, intent(in) :: tag
2289   integer, intent(in) :: comm
2290   logical, intent(out) :: flag
2291   integer, intent(out) :: message
2292   integer, dimension(MPI_STATUS_SIZE), intent(out) :: status
2293   integer, intent(out) :: ierror
2294 end subroutine PMPI_Improbe
2295 
2296 end interface
2297 
2298 
2299 interface PMPI_Get_library_version
2300 
2301 subroutine PMPI_Get_library_version(version, resultlen, ierror)
2302   character(len=*), intent(out) :: version
2303   integer, intent(out) :: resultlen
2304   integer, intent(out) :: ierror
2305 end subroutine PMPI_Get_library_version
2306 
2307 end interface
2308 
2309 
2310 interface PMPI_Comm_split_type
2311 
2312 subroutine PMPI_Comm_split_type(comm, split_type, key, info, newcomm, ierror)
2313   integer, intent(in) :: comm
2314   integer, intent(in) :: split_type
2315   integer, intent(in) :: key
2316   integer, intent(in) :: info
2317   integer, intent(out) :: newcomm
2318   integer, intent(out) :: ierror
2319 end subroutine PMPI_Comm_split_type
2320 
2321 end interface
2322 
2323 
2324 interface PMPI_Type_create_hindexed_block
2325 
2326 subroutine PMPI_Type_create_hindexed_block(count, blocklength, array_of_displacements, oldtype, newtype&
2327         , ierror)
2328   include 'mpif-config.h'
2329   integer, intent(in) :: count
2330   integer, intent(in) :: blocklength
2331   integer(kind=MPI_ADDRESS_KIND), dimension(*), intent(in) :: array_of_displacements
2332   integer, intent(in) :: oldtype
2333   integer, intent(out) :: newtype
2334   integer, intent(out) :: ierror
2335 end subroutine PMPI_Type_create_hindexed_block
2336 
2337 end interface
2338 
2339 
2340 interface PMPI_Dist_graph_create
2341 
2342 subroutine PMPI_Dist_graph_create(comm_old, n, sources, degrees, destinations, &
2343         weights, info, reorder, comm_dist_graph, ierror)
2344   integer, intent(in) :: comm_old
2345   integer, intent(in) :: n
2346   integer, dimension(n), intent(in) :: sources
2347   integer, dimension(n), intent(in) :: degrees
2348   integer, dimension(n), intent(in) :: destinations
2349   integer, dimension(n), intent(in) :: weights
2350   integer, intent(in) :: info
2351   logical, intent(in) :: reorder
2352   integer, intent(out) :: comm_dist_graph
2353   integer, intent(out) :: ierror
2354 end subroutine PMPI_Dist_graph_create
2355 
2356 end interface
2357 
2358 
2359 interface PMPI_Dist_graph_create_adjacent
2360 
2361 subroutine PMPI_Dist_graph_create_adjacent(comm_old, indegree, sources, sourceweights, &
2362        outdegree, destinations, destweights, info, reorder, &
2363        comm_dist_graph, ierror)
2364   integer, intent(in) :: comm_old
2365   integer, intent(in) :: indegree
2366   integer, dimension(indegree), intent(in) :: sources
2367   integer, dimension(indegree), intent(in) :: sourceweights
2368   integer, intent(in) :: outdegree
2369   integer, dimension(outdegree), intent(in) :: destinations
2370   integer, dimension(outdegree), intent(in) :: destweights
2371   integer, intent(in) :: info
2372   logical, intent(in) :: reorder
2373   integer, intent(out) :: comm_dist_graph
2374   integer, intent(out) :: ierror
2375 end subroutine PMPI_Dist_graph_create_adjacent
2376 
2377 end interface
2378 
2379 
2380 interface PMPI_Dist_graph_neighbors_count
2381 
2382 subroutine PMPI_Dist_graph_neighbors_count(comm, indegree, outdegree, weighted, ierror)
2383   integer, intent(in) :: comm
2384   integer, intent(out) :: indegree
2385   integer, intent(out) :: outdegree
2386   logical, intent(out) :: weighted
2387   integer, intent(out) :: ierror
2388 end subroutine PMPI_Dist_graph_neighbors_count
2389 
2390 end interface
2391 
2392 
2393 interface PMPI_Dist_graph_neighbors
2394 
2395 subroutine PMPI_Dist_graph_neighbors(comm, maxindegree, sources, sourceweights, &
2396        maxoutdegree, destinations, destweights, ierror)
2397   integer, intent(in) :: comm
2398   integer, intent(in) :: maxindegree
2399   integer, dimension(maxindegree), intent(out) :: sources
2400   integer, dimension(maxindegree), intent(out) :: sourceweights
2401   integer, intent(in) :: maxoutdegree
2402   integer, dimension(maxoutdegree), intent(out) :: destinations
2403   integer, dimension(maxoutdegree), intent(out) :: destweights
2404   integer, intent(out) :: ierror
2405 end subroutine PMPI_Dist_graph_neighbors
2406 
2407 end interface
2408 
2409 
2410 interface PMPI_Win_flush
2411 
2412 subroutine PMPI_Win_flush(rank, win, ierror)
2413   integer, intent(in) :: rank
2414   integer, intent(in) :: win
2415   integer, intent(out) :: ierror
2416 end subroutine PMPI_Win_flush
2417 
2418 end interface
2419 
2420 
2421 interface PMPI_Win_flush_all
2422 
2423 subroutine PMPI_Win_flush_all(win, ierror)
2424   integer, intent(in) :: win
2425   integer, intent(out) :: ierror
2426 end subroutine PMPI_Win_flush_all
2427 
2428 end interface
2429 
2430 
2431 interface PMPI_Win_flush_local
2432 
2433 subroutine PMPI_Win_flush_local(rank, win, ierror)
2434   integer, intent(in) :: rank
2435   integer, intent(in) :: win
2436   integer, intent(out) :: ierror
2437 end subroutine PMPI_Win_flush_local
2438 
2439 end interface
2440 
2441 
2442 interface PMPI_Win_flush_local_all
2443 
2444 subroutine PMPI_Win_flush_local_all(win, ierror)
2445   integer, intent(in) :: win
2446   integer, intent(out) :: ierror
2447 end subroutine PMPI_Win_flush_local_all
2448 
2449 end interface

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