| ! { 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 |