mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-16 19:02:09 +00:00
Add IDEST to remap interface
This commit is contained in:
@@ -432,7 +432,8 @@ Module psb_c_tools_mod
|
||||
end interface
|
||||
|
||||
interface psb_remap
|
||||
subroutine psb_c_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, info)
|
||||
subroutine psb_c_remap(np_remap, desc_in, a_in, desc_out, &
|
||||
& ipd, isrc, nrsrc, a_out, info)
|
||||
import
|
||||
implicit none
|
||||
!....parameters...
|
||||
@@ -441,6 +442,7 @@ Module psb_c_tools_mod
|
||||
type(psb_cspmat_type), intent(inout) :: a_in
|
||||
type(psb_cspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_c_remap
|
||||
|
||||
@@ -432,7 +432,8 @@ Module psb_d_tools_mod
|
||||
end interface
|
||||
|
||||
interface psb_remap
|
||||
subroutine psb_d_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, info)
|
||||
subroutine psb_d_remap(np_remap, desc_in, a_in, desc_out, &
|
||||
& ipd, isrc, nrsrc, a_out, info)
|
||||
import
|
||||
implicit none
|
||||
!....parameters...
|
||||
@@ -441,6 +442,7 @@ Module psb_d_tools_mod
|
||||
type(psb_dspmat_type), intent(inout) :: a_in
|
||||
type(psb_dspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_d_remap
|
||||
|
||||
@@ -432,7 +432,8 @@ Module psb_s_tools_mod
|
||||
end interface
|
||||
|
||||
interface psb_remap
|
||||
subroutine psb_s_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, info)
|
||||
subroutine psb_s_remap(np_remap, desc_in, a_in, desc_out, &
|
||||
& ipd, isrc, nrsrc, a_out, info)
|
||||
import
|
||||
implicit none
|
||||
!....parameters...
|
||||
@@ -441,6 +442,7 @@ Module psb_s_tools_mod
|
||||
type(psb_sspmat_type), intent(inout) :: a_in
|
||||
type(psb_sspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_s_remap
|
||||
|
||||
@@ -432,7 +432,8 @@ Module psb_z_tools_mod
|
||||
end interface
|
||||
|
||||
interface psb_remap
|
||||
subroutine psb_z_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, info)
|
||||
subroutine psb_z_remap(np_remap, desc_in, a_in, desc_out, &
|
||||
& ipd, isrc, nrsrc, a_out, info)
|
||||
import
|
||||
implicit none
|
||||
!....parameters...
|
||||
@@ -441,6 +442,7 @@ Module psb_z_tools_mod
|
||||
type(psb_zspmat_type), intent(inout) :: a_in
|
||||
type(psb_zspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_z_remap
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
! desc_in - type(psb_desc_type). The communication descriptor to be cloned.
|
||||
! desc_out - type(psb_desc_type). The output communication descriptor.
|
||||
! info - integer. Return code.
|
||||
subroutine psb_c_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, info)
|
||||
subroutine psb_c_remap(np_remap, desc_in, a_in, desc_out, ipd, isrc, nrsrc, a_out, info)
|
||||
|
||||
use psb_base_mod, psb_protect_name => psb_c_remap
|
||||
|
||||
@@ -47,6 +47,7 @@ subroutine psb_c_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, in
|
||||
type(psb_cspmat_type), intent(inout) :: a_in
|
||||
type(psb_cspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -54,7 +55,7 @@ subroutine psb_c_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, in
|
||||
! locals
|
||||
integer(psb_ipk_) :: np, me, ictxt, err_act
|
||||
integer(psb_ipk_) :: rnp, rme, newctxt
|
||||
integer(psb_ipk_) :: ipdest, ipd, id1, id2, imd, i, nsrc
|
||||
integer(psb_ipk_) :: ipdest, id1, id2, imd, i, nsrc
|
||||
integer(psb_ipk_), allocatable :: newnl(:), nzsrc(:), ids(:)
|
||||
type(psb_lc_coo_sparse_mat) :: acoo_snd, acoo_rcv
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
! desc_in - type(psb_desc_type). The communication descriptor to be cloned.
|
||||
! desc_out - type(psb_desc_type). The output communication descriptor.
|
||||
! info - integer. Return code.
|
||||
subroutine psb_d_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, info)
|
||||
subroutine psb_d_remap(np_remap, desc_in, a_in, desc_out, ipd, isrc, nrsrc, a_out, info)
|
||||
|
||||
use psb_base_mod, psb_protect_name => psb_d_remap
|
||||
|
||||
@@ -47,6 +47,7 @@ subroutine psb_d_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, in
|
||||
type(psb_dspmat_type), intent(inout) :: a_in
|
||||
type(psb_dspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -54,7 +55,7 @@ subroutine psb_d_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, in
|
||||
! locals
|
||||
integer(psb_ipk_) :: np, me, ictxt, err_act
|
||||
integer(psb_ipk_) :: rnp, rme, newctxt
|
||||
integer(psb_ipk_) :: ipdest, ipd, id1, id2, imd, i, nsrc
|
||||
integer(psb_ipk_) :: ipdest, id1, id2, imd, i, nsrc
|
||||
integer(psb_ipk_), allocatable :: newnl(:), nzsrc(:), ids(:)
|
||||
type(psb_ld_coo_sparse_mat) :: acoo_snd, acoo_rcv
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
! desc_in - type(psb_desc_type). The communication descriptor to be cloned.
|
||||
! desc_out - type(psb_desc_type). The output communication descriptor.
|
||||
! info - integer. Return code.
|
||||
subroutine psb_s_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, info)
|
||||
subroutine psb_s_remap(np_remap, desc_in, a_in, desc_out, ipd, isrc, nrsrc, a_out, info)
|
||||
|
||||
use psb_base_mod, psb_protect_name => psb_s_remap
|
||||
|
||||
@@ -47,6 +47,7 @@ subroutine psb_s_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, in
|
||||
type(psb_sspmat_type), intent(inout) :: a_in
|
||||
type(psb_sspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -54,7 +55,7 @@ subroutine psb_s_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, in
|
||||
! locals
|
||||
integer(psb_ipk_) :: np, me, ictxt, err_act
|
||||
integer(psb_ipk_) :: rnp, rme, newctxt
|
||||
integer(psb_ipk_) :: ipdest, ipd, id1, id2, imd, i, nsrc
|
||||
integer(psb_ipk_) :: ipdest, id1, id2, imd, i, nsrc
|
||||
integer(psb_ipk_), allocatable :: newnl(:), nzsrc(:), ids(:)
|
||||
type(psb_ls_coo_sparse_mat) :: acoo_snd, acoo_rcv
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
! desc_in - type(psb_desc_type). The communication descriptor to be cloned.
|
||||
! desc_out - type(psb_desc_type). The output communication descriptor.
|
||||
! info - integer. Return code.
|
||||
subroutine psb_z_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, info)
|
||||
subroutine psb_z_remap(np_remap, desc_in, a_in, desc_out, ipd, isrc, nrsrc, a_out, info)
|
||||
|
||||
use psb_base_mod, psb_protect_name => psb_z_remap
|
||||
|
||||
@@ -47,6 +47,7 @@ subroutine psb_z_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, in
|
||||
type(psb_zspmat_type), intent(inout) :: a_in
|
||||
type(psb_zspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -54,7 +55,7 @@ subroutine psb_z_remap(np_remap, desc_in, a_in, desc_out, isrc, nrsrc, a_out, in
|
||||
! locals
|
||||
integer(psb_ipk_) :: np, me, ictxt, err_act
|
||||
integer(psb_ipk_) :: rnp, rme, newctxt
|
||||
integer(psb_ipk_) :: ipdest, ipd, id1, id2, imd, i, nsrc
|
||||
integer(psb_ipk_) :: ipdest, id1, id2, imd, i, nsrc
|
||||
integer(psb_ipk_), allocatable :: newnl(:), nzsrc(:), ids(:)
|
||||
type(psb_lz_coo_sparse_mat) :: acoo_snd, acoo_rcv
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
|
||||
@@ -644,7 +644,7 @@ program psb_d_pde3d
|
||||
integer(psb_ipk_) :: ictxt, iam, np
|
||||
|
||||
! solver parameters
|
||||
integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, ipart
|
||||
integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, ipart, idest
|
||||
integer(psb_epk_) :: amatsize, precsize, descsize, d2size
|
||||
real(psb_dpk_) :: err, eps
|
||||
integer(psb_ipk_), allocatable :: isrc(:), nrsrc(:)
|
||||
@@ -701,7 +701,7 @@ program psb_d_pde3d
|
||||
if (iam == 0) write(0,*) 'Remapping from ',np,' to ',rnp
|
||||
flush(0)
|
||||
call psb_barrier(ictxt)
|
||||
call psb_remap(rnp,desc_blk,a,desc_rmp,isrc,nrsrc,aremap,info)
|
||||
call psb_remap(rnp,desc_blk,a,desc_rmp,idest,isrc,nrsrc,aremap,info)
|
||||
flush(0)
|
||||
call psb_barrier(ictxt)
|
||||
if (iam == 0) write(0,*) ' Info ',info
|
||||
|
||||
Reference in New Issue
Block a user