| 7 |
|
!! |
| 8 |
|
!! @author Charles F. Vardeman II |
| 9 |
|
!! @author Matthew Meineke |
| 10 |
< |
!! @version $Id: mpiSimulation_module.F90,v 1.8 2003-10-28 20:09:38 gezelter Exp $, $Date: 2003-10-28 20:09:38 $, $Name: not supported by cvs2svn $, $Revision: 1.8 $ |
| 10 |
> |
!! @version $Id: mpiSimulation_module.F90,v 1.9 2003-11-07 21:46:56 chuckv Exp $, $Date: 2003-11-07 21:46:56 $, $Name: not supported by cvs2svn $, $Revision: 1.9 $ |
| 11 |
|
|
| 12 |
|
module mpiSimulation |
| 13 |
|
use definitions |
| 14 |
|
#ifdef IS_MPI |
| 15 |
< |
use mpi |
| 15 |
> |
use oopseMPI |
| 16 |
|
implicit none |
| 17 |
|
PRIVATE |
| 18 |
|
|
| 32 |
|
!! PUBLIC Subroutines contained in MPI module |
| 33 |
|
public :: mpi_bcast |
| 34 |
|
public :: mpi_allreduce |
| 35 |
< |
public :: mpi_reduce |
| 35 |
> |
! public :: mpi_reduce |
| 36 |
|
public :: mpi_send |
| 37 |
|
public :: mpi_recv |
| 38 |
|
public :: mpi_get_processor_name |
| 471 |
|
|
| 472 |
|
subroutine gather_integer( sbuffer, rbuffer, this_plan, status) |
| 473 |
|
|
| 474 |
< |
type (gs_plan), intent(in) :: this_plan |
| 475 |
< |
integer, dimension(:), intent(in) :: sbuffer |
| 476 |
< |
integer, dimension(:), intent(in) :: rbuffer |
| 474 |
> |
type (gs_plan), intent(inout) :: this_plan |
| 475 |
> |
integer, dimension(:), intent(inout) :: sbuffer |
| 476 |
> |
integer, dimension(:), intent(inout) :: rbuffer |
| 477 |
|
integer :: noffset |
| 478 |
|
integer, intent(out), optional :: status |
| 479 |
|
integer :: i |
| 503 |
|
subroutine gather_double( sbuffer, rbuffer, this_plan, status) |
| 504 |
|
|
| 505 |
|
type (gs_plan), intent(in) :: this_plan |
| 506 |
< |
real( kind = DP ), dimension(:), intent(in) :: sbuffer |
| 507 |
< |
real( kind = DP ), dimension(:), intent(in) :: rbuffer |
| 506 |
> |
real( kind = DP ), dimension(:), intent(inout) :: sbuffer |
| 507 |
> |
real( kind = DP ), dimension(:), intent(inout) :: rbuffer |
| 508 |
|
integer :: noffset |
| 509 |
|
integer, intent(out), optional :: status |
| 510 |
|
|
| 531 |
|
subroutine gather_double_2d( sbuffer, rbuffer, this_plan, status) |
| 532 |
|
|
| 533 |
|
type (gs_plan), intent(in) :: this_plan |
| 534 |
< |
real( kind = DP ), dimension(:,:), intent(in) :: sbuffer |
| 535 |
< |
real( kind = DP ), dimension(:,:), intent(in) :: rbuffer |
| 534 |
> |
real( kind = DP ), dimension(:,:), intent(inout) :: sbuffer |
| 535 |
> |
real( kind = DP ), dimension(:,:), intent(inout) :: rbuffer |
| 536 |
|
integer :: noffset,i,ierror |
| 537 |
|
integer, intent(out), optional :: status |
| 538 |
|
|
| 563 |
|
subroutine scatter_double( sbuffer, rbuffer, this_plan, status) |
| 564 |
|
|
| 565 |
|
type (gs_plan), intent(in) :: this_plan |
| 566 |
< |
real( kind = DP ), dimension(:), intent(in) :: sbuffer |
| 567 |
< |
real( kind = DP ), dimension(:), intent(in) :: rbuffer |
| 566 |
> |
real( kind = DP ), dimension(:), intent(inout) :: sbuffer |
| 567 |
> |
real( kind = DP ), dimension(:), intent(inout) :: rbuffer |
| 568 |
|
integer, intent(out), optional :: status |
| 569 |
|
external mpi_reduce_scatter |
| 570 |
|
|
| 589 |
|
subroutine scatter_double_2d( sbuffer, rbuffer, this_plan, status) |
| 590 |
|
|
| 591 |
|
type (gs_plan), intent(in) :: this_plan |
| 592 |
< |
real( kind = DP ), dimension(:,:), intent(in) :: sbuffer |
| 593 |
< |
real( kind = DP ), dimension(:,:), intent(in) :: rbuffer |
| 592 |
> |
real( kind = DP ), dimension(:,:), intent(inout) :: sbuffer |
| 593 |
> |
real( kind = DP ), dimension(:,:), intent(inout) :: rbuffer |
| 594 |
|
integer, intent(out), optional :: status |
| 595 |
|
external mpi_reduce_scatter |
| 596 |
|
|