From 080441cac8a34f2820d0464fb3f938ac5f6b28eb Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Fri, 13 Feb 2015 08:56:57 +0000 Subject: [PATCH] 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. --- base/internals/psi_cswapdata.F90 | 46 ++++++++++++++++++++++++++++++++ base/internals/psi_cswaptran.F90 | 21 +++++++++++++++ base/internals/psi_dswapdata.F90 | 46 ++++++++++++++++++++++++++++++++ base/internals/psi_dswaptran.F90 | 21 +++++++++++++++ base/internals/psi_iswapdata.F90 | 46 ++++++++++++++++++++++++++++++++ base/internals/psi_iswaptran.F90 | 21 +++++++++++++++ base/internals/psi_sswapdata.F90 | 46 ++++++++++++++++++++++++++++++++ base/internals/psi_sswaptran.F90 | 21 +++++++++++++++ base/internals/psi_zswapdata.F90 | 46 ++++++++++++++++++++++++++++++++ base/internals/psi_zswaptran.F90 | 21 +++++++++++++++ 10 files changed, 335 insertions(+) diff --git a/base/internals/psi_cswapdata.F90 b/base/internals/psi_cswapdata.F90 index b7c8d02f..94c1cf49 100644 --- a/base/internals/psi_cswapdata.F90 +++ b/base/internals/psi_cswapdata.F90 @@ -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 diff --git a/base/internals/psi_cswaptran.F90 b/base/internals/psi_cswaptran.F90 index 0bb052db..65bfa6b2 100644 --- a/base/internals/psi_cswaptran.F90 +++ b/base/internals/psi_cswaptran.F90 @@ -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 diff --git a/base/internals/psi_dswapdata.F90 b/base/internals/psi_dswapdata.F90 index 1935f12a..9ddc32c9 100644 --- a/base/internals/psi_dswapdata.F90 +++ b/base/internals/psi_dswapdata.F90 @@ -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 diff --git a/base/internals/psi_dswaptran.F90 b/base/internals/psi_dswaptran.F90 index 2dfc204b..4c514f48 100644 --- a/base/internals/psi_dswaptran.F90 +++ b/base/internals/psi_dswaptran.F90 @@ -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 diff --git a/base/internals/psi_iswapdata.F90 b/base/internals/psi_iswapdata.F90 index fd7cd0c9..cb8cf3f8 100644 --- a/base/internals/psi_iswapdata.F90 +++ b/base/internals/psi_iswapdata.F90 @@ -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 diff --git a/base/internals/psi_iswaptran.F90 b/base/internals/psi_iswaptran.F90 index 9b50ae7c..18d98238 100644 --- a/base/internals/psi_iswaptran.F90 +++ b/base/internals/psi_iswaptran.F90 @@ -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 diff --git a/base/internals/psi_sswapdata.F90 b/base/internals/psi_sswapdata.F90 index 9f8d5000..3e60911c 100644 --- a/base/internals/psi_sswapdata.F90 +++ b/base/internals/psi_sswapdata.F90 @@ -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 diff --git a/base/internals/psi_sswaptran.F90 b/base/internals/psi_sswaptran.F90 index 26d391a5..d8cee644 100644 --- a/base/internals/psi_sswaptran.F90 +++ b/base/internals/psi_sswaptran.F90 @@ -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 diff --git a/base/internals/psi_zswapdata.F90 b/base/internals/psi_zswapdata.F90 index 1234dbe4..7dfdef19 100644 --- a/base/internals/psi_zswapdata.F90 +++ b/base/internals/psi_zswapdata.F90 @@ -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 diff --git a/base/internals/psi_zswaptran.F90 b/base/internals/psi_zswaptran.F90 index 5004aedd..272f0830 100644 --- a/base/internals/psi_zswaptran.F90 +++ b/base/internals/psi_zswaptran.F90 @@ -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