SPEED
MAKE_SETUP_MPI_CONFORMING.f90
Go to the documentation of this file.
1
! Copyright (C) 2012 The SPEED FOUNDATION
2
! Author: Ilario Mazzieri
3
!
4
! This file is part of SPEED.
5
!
6
! SPEED is free software; you can redistribute it and/or modify it
7
! under the terms of the GNU Affero General Public License as
8
! published by the Free Software Foundation, either version 3 of the
9
! License, or (at your option) any later version.
10
!
11
! SPEED is distributed in the hope that it will be useful, but
12
! WITHOUT ANY WARRANTY; without even the implied warranty of
13
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
! Affero General Public License for more details.
15
!
16
! You should have received a copy of the GNU Affero General Public License
17
! along with SPEED. If not, see <http://www.gnu.org/licenses/>.
18
23
24
subroutine
make_setup_mpi_conforming
()
25
26
use
max_var
27
use
speed_par
28
29
30
implicit none
31
32
include
'SPEED.MPI'
33
34
35
nsend
= 0
36
nrecv
= 0
37
38
allocate
(
proc_send
(
mpi_np
))
39
allocate
(
proc_recv
(
mpi_np
))
40
41
!if(mpi_id .eq.0) then
42
! start1=MPI_WTIME()
43
!endif
44
45
call
setup_mpi
(
nnod
,
node_domain
,
con_nnz_loc
,
con_spx_loc
, &
46
nsend
,
node_send
,
nrecv
,
node_recv
, &
47
mpi_np
,
proc_send
,
proc_recv
,
mpi_id
,
mpi_file
,
mpi_comm
)
48
49
50
allocate
(
node_send
(
nsend
))
51
allocate
(
node_recv
(
nrecv
))
52
53
call
setup_mpi
(
nnod
,
node_domain
,
con_nnz_loc
,
con_spx_loc
, &
54
nsend
,
node_send
,
nrecv
,
node_recv
, &
55
mpi_np
,
proc_send
,
proc_recv
,
mpi_id
,
mpi_file
,
mpi_comm
)
56
57
deallocate
(
node_domain
)
58
call
mpi_barrier(
mpi_comm
,
mpi_ierr
)
59
60
! if(mpi_id .eq.0) then
61
! start2=MPI_WTIME()
62
! write (*,*) "Time in routine setup_mpi ",start2-start1,"sec"
63
! endif
64
65
66
end subroutine
make_setup_mpi_conforming
make_setup_mpi_conforming
subroutine make_setup_mpi_conforming()
Defines buffers for MPI communication.
Definition
MAKE_SETUP_MPI_CONFORMING.f90:25
setup_mpi
subroutine setup_mpi(nnode, node_proc, ncs, cs, nsend, node_send, nrecv, node_recv, nproc, proc_send, proc_recv, id, filempi, mpi_comm)
Routine used to setup the communication buffer structure.
Definition
SETUP_MPI.f90:46
max_var
Set maximal bounds.
Definition
MODULES.f90:54
speed_par
Contains SPEED PARAMETERS used in (SPEED, READ_INPUT_FILES, MAKE_PARTION_AND_MPI_FILES,...
Definition
MODULES.f90:207
speed_par::nsend
integer *4 nsend
Definition
MODULES.f90:269
speed_par::proc_recv
integer *4, dimension(:), allocatable proc_recv
Definition
MODULES.f90:368
speed_par::nnod
integer *4 nnod
Definition
MODULES.f90:269
speed_par::con_nnz_loc
integer *4 con_nnz_loc
Definition
MODULES.f90:269
speed_par::node_domain
integer *4, dimension(:), allocatable node_domain
Definition
MODULES.f90:322
speed_par::mpi_file
character *70 mpi_file
Definition
MODULES.f90:243
speed_par::mpi_comm
integer *4 mpi_comm
Definition
MODULES.f90:308
speed_par::node_send
integer *4, dimension(:), allocatable node_send
Definition
MODULES.f90:368
speed_par::mpi_ierr
integer *4 mpi_ierr
Definition
MODULES.f90:298
speed_par::con_spx_loc
integer *4, dimension(:), allocatable con_spx_loc
Definition
MODULES.f90:322
speed_par::mpi_np
integer *4 mpi_np
Definition
MODULES.f90:308
speed_par::proc_send
integer *4, dimension(:), allocatable proc_send
Definition
MODULES.f90:368
speed_par::mpi_id
integer *4 mpi_id
Definition
MODULES.f90:308
speed_par::nrecv
integer *4 nrecv
Definition
MODULES.f90:269
speed_par::node_recv
integer *4, dimension(:), allocatable node_recv
Definition
MODULES.f90:368
speed
MAKE_SETUP_MPI_CONFORMING.f90
Generated by
1.9.8