1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
! { dg-do compile }
! { dg-options "-O -fipa-pta" }
MODULE dbcsr_dist_operations
TYPE dbcsr_mp_obj
END TYPE dbcsr_mp_obj
INTERFACE
SUBROUTINE dbcsr_mp_new(mp_env, pgrid, mp_group, mynode, numnodes, myprow,&
mypcol)
IMPORT
TYPE(dbcsr_mp_obj), INTENT(OUT) :: mp_env
INTEGER, DIMENSION(0:, 0:), INTENT(IN) :: pgrid
END SUBROUTINE dbcsr_mp_new
END INTERFACE
CONTAINS
SUBROUTINE dbcsr_mp_make_env (mp_env, mp_group, &
nprocs, pgrid_dims, error)
TYPE(dbcsr_mp_obj), INTENT(OUT) :: mp_env
OPTIONAL :: pgrid_dims
INTEGER :: error_handle, group, mynode, &
numnodes, pcol, prow
INTEGER, ALLOCATABLE, DIMENSION(:, :) :: pgrid
INTEGER, DIMENSION(2) :: coord, myploc, npdims
CALL dbcsr_mp_new (mp_env, pgrid, group, mynode, numnodes,&
myprow=myploc(1), mypcol=myploc(2))
END SUBROUTINE dbcsr_mp_make_env
END MODULE dbcsr_dist_operations
|