mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-07 23:16:45 +00:00
psblas3:
base/internals/psi_cswapdata.F90 base/internals/psi_cswaptran.F90 base/internals/psi_dswapdata.F90 base/internals/psi_dswaptran.F90 base/internals/psi_iswapdata.F90 base/internals/psi_iswaptran.F90 base/internals/psi_sswapdata.F90 base/internals/psi_sswaptran.F90 base/internals/psi_zswapdata.F90 base/internals/psi_zswaptran.F90 More comments in internals.
This commit is contained in:
@@ -643,6 +643,17 @@ subroutine psi_cswapdatav(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_cswapdatav
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_cswapdataidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_cswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_cswapidxv
|
||||
@@ -998,6 +1009,15 @@ subroutine psi_cswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
return
|
||||
end subroutine psi_cswapidxv
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_cswapdata_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_cswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_cswapdata_vect
|
||||
@@ -1072,6 +1092,19 @@ subroutine psi_cswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_cswapdata_vect
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_cswapidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector. Relies on the gather/scatter methods
|
||||
! of vectors.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_cswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_cswapidx_vect
|
||||
@@ -1430,6 +1463,19 @@ subroutine psi_cswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,
|
||||
end subroutine psi_cswapidx_vect
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_cswapvidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Case where the index vector is also encapsulated.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_cswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_cswap_vidx_vect
|
||||
|
||||
@@ -653,6 +653,17 @@ subroutine psi_cswaptranv(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_cswaptranv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_ctranidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
|
||||
|
||||
subroutine psi_ctranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
@@ -1025,6 +1036,16 @@ subroutine psi_ctranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
end subroutine psi_ctranidxv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_cswaptran_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
subroutine psi_cswaptran_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_cswaptran_vect
|
||||
|
||||
@@ -643,6 +643,17 @@ subroutine psi_dswapdatav(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_dswapdatav
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_dswapdataidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_dswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_dswapidxv
|
||||
@@ -998,6 +1009,15 @@ subroutine psi_dswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
return
|
||||
end subroutine psi_dswapidxv
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_dswapdata_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_dswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_dswapdata_vect
|
||||
@@ -1072,6 +1092,19 @@ subroutine psi_dswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_dswapdata_vect
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_dswapidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector. Relies on the gather/scatter methods
|
||||
! of vectors.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_dswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_dswapidx_vect
|
||||
@@ -1430,6 +1463,19 @@ subroutine psi_dswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,
|
||||
end subroutine psi_dswapidx_vect
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_dswapvidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Case where the index vector is also encapsulated.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_dswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_dswap_vidx_vect
|
||||
|
||||
@@ -653,6 +653,17 @@ subroutine psi_dswaptranv(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_dswaptranv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_dtranidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
|
||||
|
||||
subroutine psi_dtranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
@@ -1025,6 +1036,16 @@ subroutine psi_dtranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
end subroutine psi_dtranidxv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_dswaptran_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
subroutine psi_dswaptran_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_dswaptran_vect
|
||||
|
||||
@@ -643,6 +643,17 @@ subroutine psi_iswapdatav(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_iswapdatav
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_iswapdataidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_iswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_iswapidxv
|
||||
@@ -998,6 +1009,15 @@ subroutine psi_iswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
return
|
||||
end subroutine psi_iswapidxv
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_iswapdata_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_iswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_iswapdata_vect
|
||||
@@ -1072,6 +1092,19 @@ subroutine psi_iswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_iswapdata_vect
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_iswapidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector. Relies on the gather/scatter methods
|
||||
! of vectors.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_iswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_iswapidx_vect
|
||||
@@ -1430,6 +1463,19 @@ subroutine psi_iswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,
|
||||
end subroutine psi_iswapidx_vect
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_iswapvidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Case where the index vector is also encapsulated.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_iswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_iswap_vidx_vect
|
||||
|
||||
@@ -653,6 +653,17 @@ subroutine psi_iswaptranv(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_iswaptranv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_itranidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
|
||||
|
||||
subroutine psi_itranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
@@ -1025,6 +1036,16 @@ subroutine psi_itranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
end subroutine psi_itranidxv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_iswaptran_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
subroutine psi_iswaptran_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_iswaptran_vect
|
||||
|
||||
@@ -643,6 +643,17 @@ subroutine psi_sswapdatav(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_sswapdatav
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_sswapdataidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_sswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_sswapidxv
|
||||
@@ -998,6 +1009,15 @@ subroutine psi_sswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
return
|
||||
end subroutine psi_sswapidxv
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_sswapdata_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_sswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_sswapdata_vect
|
||||
@@ -1072,6 +1092,19 @@ subroutine psi_sswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_sswapdata_vect
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_sswapidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector. Relies on the gather/scatter methods
|
||||
! of vectors.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_sswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_sswapidx_vect
|
||||
@@ -1430,6 +1463,19 @@ subroutine psi_sswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,
|
||||
end subroutine psi_sswapidx_vect
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_sswapvidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Case where the index vector is also encapsulated.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_sswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_sswap_vidx_vect
|
||||
|
||||
@@ -653,6 +653,17 @@ subroutine psi_sswaptranv(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_sswaptranv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_stranidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
|
||||
|
||||
subroutine psi_stranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
@@ -1025,6 +1036,16 @@ subroutine psi_stranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
end subroutine psi_stranidxv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_sswaptran_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
subroutine psi_sswaptran_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_sswaptran_vect
|
||||
|
||||
@@ -643,6 +643,17 @@ subroutine psi_zswapdatav(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_zswapdatav
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_zswapdataidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_zswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_zswapidxv
|
||||
@@ -998,6 +1009,15 @@ subroutine psi_zswapidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
return
|
||||
end subroutine psi_zswapidxv
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_zswapdata_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_zswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_zswapdata_vect
|
||||
@@ -1072,6 +1092,19 @@ subroutine psi_zswapdata_vect(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_zswapdata_vect
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_zswapidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector. Relies on the gather/scatter methods
|
||||
! of vectors.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_zswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_zswapidx_vect
|
||||
@@ -1430,6 +1463,19 @@ subroutine psi_zswapidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,
|
||||
end subroutine psi_zswapidx_vect
|
||||
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_zswapvidx_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Case where the index vector is also encapsulated.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
subroutine psi_zswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_zswap_vidx_vect
|
||||
|
||||
@@ -653,6 +653,17 @@ subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data)
|
||||
end subroutine psi_zswaptranv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_ztranidxv
|
||||
! Does the data exchange among processes.
|
||||
!
|
||||
! The real workhorse: the outer routines will only choose the index list
|
||||
! this one takes the index list and does the actual exchange.
|
||||
!
|
||||
!
|
||||
!
|
||||
|
||||
|
||||
subroutine psi_ztranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work,info)
|
||||
|
||||
@@ -1025,6 +1036,16 @@ subroutine psi_ztranidxv(iictxt,iicomm,flag,beta,y,idx,totxch,totsnd,totrcv,work
|
||||
end subroutine psi_ztranidxv
|
||||
|
||||
|
||||
!
|
||||
!
|
||||
!
|
||||
!
|
||||
! Subroutine: psi_zswaptran_vect
|
||||
! Data exchange among processes.
|
||||
!
|
||||
! Takes care of Y an exanspulated vector.
|
||||
!
|
||||
!
|
||||
subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data)
|
||||
|
||||
use psi_mod, psb_protect_name => psi_zswaptran_vect
|
||||
|
||||
Reference in New Issue
Block a user