mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-18 11:52:11 +00:00
Modified psb_config and machinery for better C interfacing
This commit is contained in:
@@ -10,11 +10,7 @@ dirs:
|
||||
(if test ! -d modules ; then mkdir modules; fi;)
|
||||
|
||||
mods: basemods utilmods precmods linslvmods cbindmods extmods $(CUDAMODS) $(OACCMODS)
|
||||
precmods utilmods extmods: basemods
|
||||
linslvmods: precmods
|
||||
cbindmods: basemods precmods linslvmods utilmods extmods $(CUDAMODS)
|
||||
oaccmods: extmods
|
||||
cudamods: extmods
|
||||
|
||||
basemods:
|
||||
$(MAKE) -C base mods
|
||||
precmods: basemods
|
||||
@@ -23,7 +19,7 @@ linslvmods: precmods
|
||||
$(MAKE) -C linsolve mods
|
||||
utilmods: basemods
|
||||
$(MAKE) -C util mods
|
||||
cbindmods: basemods precmods linslvmods utilmods $(CUDAMODS)
|
||||
cbindmods: basemods precmods linslvmods utilmods extmods $(CUDAMODS)
|
||||
$(MAKE) -C cbind objs
|
||||
extmods: basemods
|
||||
$(MAKE) -C ext mods
|
||||
|
||||
@@ -39,22 +39,30 @@ module psb_desc_const_mod
|
||||
!
|
||||
! Communication, prolongation & restriction
|
||||
!
|
||||
integer(psb_ipk_), parameter :: psb_nohalo_=0, psb_halo_=1
|
||||
integer(psb_ipk_), parameter :: psb_nohalo_ = 0
|
||||
integer(psb_ipk_), parameter :: psb_halo_ = 1
|
||||
! For overlap update.
|
||||
integer(psb_ipk_), parameter :: psb_none_=0, psb_sum_=1
|
||||
integer(psb_ipk_), parameter :: psb_avg_=2, psb_square_root_=3
|
||||
integer(psb_ipk_), parameter :: psb_setzero_=4
|
||||
integer(psb_ipk_), parameter :: psb_none_ = 0
|
||||
integer(psb_ipk_), parameter :: psb_sum_ = 1
|
||||
integer(psb_ipk_), parameter :: psb_avg_ = 2
|
||||
integer(psb_ipk_), parameter :: psb_square_root_ = 3
|
||||
integer(psb_ipk_), parameter :: psb_setzero_ = 4
|
||||
|
||||
! The following are bit fields.
|
||||
integer(psb_ipk_), parameter :: psb_swap_send_=1, psb_swap_recv_=2
|
||||
integer(psb_ipk_), parameter :: psb_swap_sync_=4, psb_swap_mpi_=8
|
||||
integer(psb_ipk_), parameter :: psb_collective_start_=1, psb_collective_end_=2
|
||||
integer(psb_ipk_), parameter :: psb_collective_sync_=4
|
||||
integer(psb_ipk_), parameter :: psb_swap_send_ = 1
|
||||
integer(psb_ipk_), parameter :: psb_swap_recv_ = 2
|
||||
integer(psb_ipk_), parameter :: psb_swap_sync_ = 4
|
||||
integer(psb_ipk_), parameter :: psb_swap_mpi_ = 8
|
||||
integer(psb_ipk_), parameter :: psb_collective_start_ = 1
|
||||
integer(psb_ipk_), parameter :: psb_collective_end_ = 2
|
||||
integer(psb_ipk_), parameter :: psb_collective_sync_ = 4
|
||||
|
||||
! Choice among lists on which to base data exchange
|
||||
integer(psb_ipk_), parameter :: psb_no_comm_=-1
|
||||
integer(psb_ipk_), parameter :: psb_comm_halo_=1, psb_comm_ovr_=2
|
||||
integer(psb_ipk_), parameter :: psb_comm_ext_=3, psb_comm_mov_=4
|
||||
integer(psb_ipk_), parameter :: psb_no_comm_ = -1
|
||||
integer(psb_ipk_), parameter :: psb_comm_halo_ = 1
|
||||
integer(psb_ipk_), parameter :: psb_comm_ovr_ = 2
|
||||
integer(psb_ipk_), parameter :: psb_comm_ext_ = 3
|
||||
integer(psb_ipk_), parameter :: psb_comm_mov_ = 4
|
||||
! Types of mapping between descriptors.
|
||||
integer(psb_ipk_), parameter :: psb_map_xhal_ = 123
|
||||
integer(psb_ipk_), parameter :: psb_map_asov_ = psb_map_xhal_+1
|
||||
|
||||
@@ -14,6 +14,27 @@
|
||||
#define PSB_DUPL_OVWRT @PSBLASDUPOVW@
|
||||
#define PSB_DUPL_ERR @PSBLASDUPERR@
|
||||
#define PSB_DUPL_DEF @PSBLASDUPDEF@
|
||||
|
||||
#define PSB_UPD_SRCH @PSBLASUPDSRC@
|
||||
#define PSB_UPD_PERM @PSBLASUPDPRM@
|
||||
#define PSB_UPD_DFLT @PSBLASUPDDEF@
|
||||
|
||||
#define PSB_SWAP_SEND @PSBSWPSND@
|
||||
#define PSB_SWAP_RECV @PSBSWPRCV@
|
||||
#define PSB_SWAP_SYNC @PSBSWPSYN@
|
||||
#define PSB_SWAP_MPI @PSBSWPMPI@
|
||||
|
||||
#define PSB_COLLECTIVE_START @PSBCLCSTR@
|
||||
#define PSB_COLLECTIVE_END @PSBCLCEND@
|
||||
#define PSB_COLLECTIVE_SYNC @PSBCLCSYN@
|
||||
|
||||
|
||||
#define PSB_NONE @PSBNONE@
|
||||
#define PSB_SUM @PSBSUM@
|
||||
#define PSB_AVG @PSBAVG@
|
||||
#define PSB_SQUARE_ROOT @PSBSQRT@
|
||||
#define PSB_SETZERO @PSBSETZ@
|
||||
|
||||
#define PSB_MATBLD_NOREMOTE @PSBLASBLDNOR@
|
||||
#define PSB_MATBLD_REMOTE @PSBLASBLDRMT@
|
||||
|
||||
|
||||
+13
-11
@@ -102,16 +102,7 @@ extern "C" {
|
||||
psb_i_t psb_c_g2l(psb_c_descriptor *cdh,psb_l_t gindex,bool cowned);
|
||||
|
||||
|
||||
/* legal values for upd argument */
|
||||
#define psb_upd_srch_ 98764
|
||||
#define psb_upd_perm_ 98765
|
||||
#define psb_upd_def_ psb_upd_srch_
|
||||
/* legal values for dupl argument */
|
||||
#define psb_dupl_ovwrt_ 0
|
||||
#define psb_dupl_add_ 1
|
||||
#define psb_dupl_err_ 2
|
||||
#define psb_dupl_def_ psb_dupl_ovwrt_
|
||||
|
||||
|
||||
/* legal values for afmt */
|
||||
#define PSB_AFMT_CSR "CSR"
|
||||
#define PSB_AFMT_CSC "CSC"
|
||||
@@ -123,6 +114,17 @@ extern "C" {
|
||||
#define psb_Trans_ "T"
|
||||
#define psb_ConjTrans_ "C"
|
||||
|
||||
#if 0
|
||||
/* legal values for upd argument */
|
||||
#define psb_upd_srch_ 98764
|
||||
#define psb_upd_perm_ 98765
|
||||
#define psb_upd_def_ psb_upd_srch_
|
||||
/* legal values for dupl argument */
|
||||
#define psb_dupl_ovwrt_ 0
|
||||
#define psb_dupl_add_ 1
|
||||
#define psb_dupl_err_ 2
|
||||
#define psb_dupl_def_ psb_dupl_ovwrt_
|
||||
|
||||
/* legal values for halo swap modes argument */
|
||||
#define psb_swap_send_ 1
|
||||
#define psb_swap_recv_ 2
|
||||
@@ -135,7 +137,7 @@ extern "C" {
|
||||
#define psb_avg_ 2
|
||||
#define psb_square_root_ 3
|
||||
#define psb_setzero_ 4
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+13
-11
@@ -102,16 +102,7 @@ extern "C" {
|
||||
psb_i_t psb_c_g2l(psb_c_descriptor *cdh,psb_l_t gindex,bool cowned);
|
||||
|
||||
|
||||
/* legal values for upd argument */
|
||||
#define psb_upd_srch_ 98764
|
||||
#define psb_upd_perm_ 98765
|
||||
#define psb_upd_def_ psb_upd_srch_
|
||||
/* legal values for dupl argument */
|
||||
#define psb_dupl_ovwrt_ 0
|
||||
#define psb_dupl_add_ 1
|
||||
#define psb_dupl_err_ 2
|
||||
#define psb_dupl_def_ psb_dupl_ovwrt_
|
||||
|
||||
|
||||
/* legal values for afmt */
|
||||
#define PSB_AFMT_CSR "CSR"
|
||||
#define PSB_AFMT_CSC "CSC"
|
||||
@@ -123,6 +114,17 @@ extern "C" {
|
||||
#define psb_Trans_ "T"
|
||||
#define psb_ConjTrans_ "C"
|
||||
|
||||
#if 0
|
||||
/* legal values for upd argument */
|
||||
#define psb_upd_srch_ 98764
|
||||
#define psb_upd_perm_ 98765
|
||||
#define psb_upd_def_ psb_upd_srch_
|
||||
/* legal values for dupl argument */
|
||||
#define psb_dupl_ovwrt_ 0
|
||||
#define psb_dupl_add_ 1
|
||||
#define psb_dupl_err_ 2
|
||||
#define psb_dupl_def_ psb_dupl_ovwrt_
|
||||
|
||||
/* legal values for halo swap modes argument */
|
||||
#define psb_swap_send_ 1
|
||||
#define psb_swap_recv_ 2
|
||||
@@ -135,7 +137,7 @@ extern "C" {
|
||||
#define psb_avg_ 2
|
||||
#define psb_square_root_ 3
|
||||
#define psb_setzero_ 4
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -691,8 +691,23 @@ CINTMETIS
|
||||
CHAVEMETIS
|
||||
CHAVE_OPENMP
|
||||
CSERIALMPI
|
||||
PSBCLCSYN
|
||||
PSBCLCEND
|
||||
PSBCLCSTR
|
||||
PSBSETZ
|
||||
PSBSQRT
|
||||
PSBAVG
|
||||
PSBSUM
|
||||
PSBNONE
|
||||
PSBSWPMPI
|
||||
PSBSWPSYN
|
||||
PSBSWPRCV
|
||||
PSBSWPSND
|
||||
PSBLASBLDRMT
|
||||
PSBLASBLDNOR
|
||||
PSBLASUPDDEF
|
||||
PSBLASUPDPRM
|
||||
PSBLASUPDSRC
|
||||
PSBLASDUPDEF
|
||||
PSBLASDUPERR
|
||||
PSBLASDUPOVW
|
||||
@@ -8825,10 +8840,27 @@ PSBLASDUPNUL=`cat $CFILE| grep dupl_null | $AWK '{print $6;}'`;
|
||||
PSBLASDUPADD=`cat $CFILE| grep "psb_dupl_add_ =" | $AWK '{print $6;}'`;
|
||||
PSBLASDUPOVW=`cat $CFILE| grep dupl_ovwrt| $AWK '{print $6;}'`;
|
||||
PSBLASDUPERR=`cat $CFILE| grep dupl_err| $AWK '{print $6;}'`;
|
||||
PSBLASDUPDEF=`cat $CFILE| grep dupl_def| $AWK '{print $6;}' | tr a-z A-Z | sed s/\_$//`;
|
||||
PSBLASDUPDEF=`cat $CFILE| grep dupl_def| $AWK '{print $6;}' | tr a-z A-Z | sed s/\_$// `;
|
||||
PSBLASUPDSRC=`cat $CFILE| grep "psb_upd_srch_ ="| $AWK '{print $6;}' `;
|
||||
PSBLASUPDPRM=`cat $CFILE| grep "psb_upd_perm_ ="| $AWK '{print $6;}' `;
|
||||
PSBLASUPDDEF=`cat $CFILE| grep "psb_upd_dflt_ ="| $AWK '{print $6;}' | tr a-z A-Z | sed s/\_$//`;
|
||||
PSBLASBLDNOR=`cat $CFILE| grep matbld_noremote| $AWK '{print $6;}'`;
|
||||
PSBLASBLDRMT=`cat $CFILE| grep matbld_remote| $AWK '{print $6;}'`;
|
||||
|
||||
CFILE="base/modules/desc/psb_desc_const_mod.f90";
|
||||
PSBSWPSND=`cat $CFILE| grep swap_send| $AWK '{print $6;}'`;
|
||||
PSBSWPRCV=`cat $CFILE| grep swap_recv| $AWK '{print $6;}'`;
|
||||
PSBSWPSYN=`cat $CFILE| grep swap_sync| $AWK '{print $6;}'`;
|
||||
PSBSWPMPI=`cat $CFILE| grep swap_mpi| $AWK '{print $6;}'`;
|
||||
PSBNONE=`cat $CFILE| grep psb_none| $AWK '{print $6;}'`;
|
||||
PSBSUM=`cat $CFILE| grep psb_sum| $AWK '{print $6;}'`;
|
||||
PSBAVG=`cat $CFILE| grep psb_avg| $AWK '{print $6;}'`;
|
||||
PSBSQRT=`cat $CFILE| grep square_root| $AWK '{print $6;}'`;
|
||||
PSBSETZ=`cat $CFILE| grep psb_setzero| $AWK '{print $6;}'`;
|
||||
PSBCLCSTR=`cat $CFILE| grep collective_start| $AWK '{print $6;}'`;
|
||||
PSBCLCEND=`cat $CFILE| grep collective_end| $AWK '{print $6;}'`;
|
||||
PSBCLCSYN=`cat $CFILE| grep collective_sync| $AWK '{print $6;}'`;
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: version $PSBLASSTRING" >&5
|
||||
printf "%s\n" " version $PSBLASSTRING" >&6; }
|
||||
|
||||
@@ -11778,6 +11810,24 @@ FDEFINES=$(PSBFDEFINES)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+36
-1
@@ -699,10 +699,27 @@ PSBLASDUPNUL=`cat $CFILE| grep dupl_null | $AWK '{print $6;}'`;
|
||||
PSBLASDUPADD=`cat $CFILE| grep "psb_dupl_add_ =" | $AWK '{print $6;}'`;
|
||||
PSBLASDUPOVW=`cat $CFILE| grep dupl_ovwrt| $AWK '{print $6;}'`;
|
||||
PSBLASDUPERR=`cat $CFILE| grep dupl_err| $AWK '{print $6;}'`;
|
||||
PSBLASDUPDEF=`cat $CFILE| grep dupl_def| $AWK '{print $6;}' | tr a-z A-Z | sed s/\_$//`;
|
||||
PSBLASDUPDEF=`cat $CFILE| grep dupl_def| $AWK '{print $6;}' | tr a-z A-Z | sed s/\_$// `;
|
||||
PSBLASUPDSRC=`cat $CFILE| grep "psb_upd_srch_ ="| $AWK '{print $6;}' `;
|
||||
PSBLASUPDPRM=`cat $CFILE| grep "psb_upd_perm_ ="| $AWK '{print $6;}' `;
|
||||
PSBLASUPDDEF=`cat $CFILE| grep "psb_upd_dflt_ ="| $AWK '{print $6;}' | tr a-z A-Z | sed s/\_$//`;
|
||||
PSBLASBLDNOR=`cat $CFILE| grep matbld_noremote| $AWK '{print $6;}'`;
|
||||
PSBLASBLDRMT=`cat $CFILE| grep matbld_remote| $AWK '{print $6;}'`;
|
||||
|
||||
CFILE="base/modules/desc/psb_desc_const_mod.f90";
|
||||
PSBSWPSND=`cat $CFILE| grep swap_send| $AWK '{print $6;}'`;
|
||||
PSBSWPRCV=`cat $CFILE| grep swap_recv| $AWK '{print $6;}'`;
|
||||
PSBSWPSYN=`cat $CFILE| grep swap_sync| $AWK '{print $6;}'`;
|
||||
PSBSWPMPI=`cat $CFILE| grep swap_mpi| $AWK '{print $6;}'`;
|
||||
PSBNONE=`cat $CFILE| grep psb_none| $AWK '{print $6;}'`;
|
||||
PSBSUM=`cat $CFILE| grep psb_sum| $AWK '{print $6;}'`;
|
||||
PSBAVG=`cat $CFILE| grep psb_avg| $AWK '{print $6;}'`;
|
||||
PSBSQRT=`cat $CFILE| grep square_root| $AWK '{print $6;}'`;
|
||||
PSBSETZ=`cat $CFILE| grep psb_setzero| $AWK '{print $6;}'`;
|
||||
PSBCLCSTR=`cat $CFILE| grep collective_start| $AWK '{print $6;}'`;
|
||||
PSBCLCEND=`cat $CFILE| grep collective_end| $AWK '{print $6;}'`;
|
||||
PSBCLCSYN=`cat $CFILE| grep collective_sync| $AWK '{print $6;}'`;
|
||||
|
||||
AC_MSG_RESULT([ version $PSBLASSTRING])
|
||||
|
||||
###############################################################################
|
||||
@@ -1084,9 +1101,27 @@ AC_SUBST(PSBLASDUPADD)
|
||||
AC_SUBST(PSBLASDUPOVW)
|
||||
AC_SUBST(PSBLASDUPERR)
|
||||
AC_SUBST(PSBLASDUPDEF)
|
||||
AC_SUBST(PSBLASDUPDEF)
|
||||
AC_SUBST(PSBLASUPDSRC)
|
||||
AC_SUBST(PSBLASUPDPRM)
|
||||
AC_SUBST(PSBLASUPDDEF)
|
||||
AC_SUBST(PSBLASBLDNOR)
|
||||
AC_SUBST(PSBLASBLDRMT)
|
||||
|
||||
AC_SUBST(PSBSWPSND)
|
||||
AC_SUBST(PSBSWPRCV)
|
||||
AC_SUBST(PSBSWPSYN)
|
||||
AC_SUBST(PSBSWPMPI)
|
||||
AC_SUBST(PSBNONE)
|
||||
AC_SUBST(PSBSUM)
|
||||
AC_SUBST(PSBAVG)
|
||||
AC_SUBST(PSBSQRT)
|
||||
AC_SUBST(PSBSETZ)
|
||||
AC_SUBST(PSBCLCSTR)
|
||||
AC_SUBST(PSBCLCEND)
|
||||
AC_SUBST(PSBCLCSYN)
|
||||
|
||||
|
||||
AC_SUBST(CSERIALMPI)
|
||||
AC_SUBST(CHAVE_OPENMP)
|
||||
AC_SUBST(CHAVEMETIS)
|
||||
|
||||
Reference in New Issue
Block a user