Should not keep generated files.
parent
960e13a6b4
commit
02fd9346ca
@ -1,5 +0,0 @@
|
||||
integer, parameter :: nohalo_=0, halo_=4
|
||||
integer, parameter :: none_=0,sum_=1,avg_=2,square_root_=3
|
||||
integer, parameter :: swap_send=1, swap_recv=2
|
||||
integer, parameter :: swap_sync=4,swap_mpi=8
|
||||
character, parameter :: all='A',topdef=' '
|
@ -1,6 +0,0 @@
|
||||
integer, parameter :: deadlock_check=0,local_mtrx_check=1
|
||||
integer, parameter :: local_comm_check=2,consistency_check=3
|
||||
integer, parameter :: global_check=4,order_communication=5
|
||||
integer, parameter :: change_represent=6,loc_to_glob_check=7
|
||||
integer, parameter :: convert_halo=1,convert_ovrlap=2
|
||||
integer, parameter :: act_ret=0, act_abort=1, no_err=0
|
@ -1,13 +0,0 @@
|
||||
integer, parameter :: dec_type_=1,m_=2,n_=3
|
||||
integer, parameter :: n_row_=4,n_col_=5,ctxt_=6
|
||||
integer, parameter :: loc_to_glob_=7,mpi_c_=9,mdata_size=10
|
||||
integer, parameter :: desc_asb=3099, desc_bld=desc_asb+1
|
||||
integer, parameter :: desc_upd=desc_bld+1
|
||||
integer, parameter :: desc_upd_asb=desc_upd+1
|
||||
integer, parameter :: upd_glb=998, upd_loc=997
|
||||
integer, parameter :: proc_id_=0,n_elem_recv_=1
|
||||
integer, parameter :: elem_recv_=2,n_elem_send_=2
|
||||
integer, parameter :: elem_send_=3,n_ovrlp_elem_=1
|
||||
integer, parameter :: ovrlp_elem_to_=2
|
||||
integer, parameter :: ovrlp_elem_=0, n_dom_ovr_=1
|
||||
|
Binary file not shown.
@ -1,7 +0,0 @@
|
||||
interface
|
||||
!.....user passed subroutine.....
|
||||
subroutine parts(glob_index,nrow,np,pv,nv)
|
||||
integer, intent (in) :: glob_index,np,nrow
|
||||
integer, intent (out) :: nv, pv(*)
|
||||
end subroutine parts
|
||||
end interface
|
Binary file not shown.
@ -1,38 +0,0 @@
|
||||
integer, parameter :: psb_nohalo_=0, psb_halo_=4
|
||||
integer, parameter :: psb_none_=0,psb_sum_=1
|
||||
integer, parameter :: psb_avg_=2,psb_square_root_=3
|
||||
integer, parameter :: psb_swap_send_=1,psb_swap_recv_=2
|
||||
integer, parameter :: psb_swap_sync_=4,psb_swap_mpi_=8
|
||||
integer, parameter :: psb_deadlock_check_=0
|
||||
integer, parameter :: psb_local_mtrx_check_=1
|
||||
integer, parameter :: psb_local_comm_check_=2
|
||||
integer, parameter :: psb_consistency_check_=3
|
||||
integer, parameter :: psb_global_check_=4
|
||||
integer, parameter :: psb_order_communication_=5
|
||||
integer, parameter :: psb_change_represent_=6
|
||||
integer, parameter :: psb_loc_to_glob_check_=7
|
||||
integer, parameter :: psb_convert_halo_=1
|
||||
integer, parameter :: psb_convert_ovrlap_=2
|
||||
integer, parameter :: psb_act_ret_=0
|
||||
integer, parameter :: psb_act_abort_=1, no_err_=0
|
||||
integer, parameter :: psb_dec_type_=1,psb_m_=2,psb_n_=3
|
||||
integer, parameter :: psb_n_row_=4,psb_n_col_=5,psb_ctxt_=6
|
||||
integer, parameter :: psb_loc_to_glob_=7
|
||||
integer, parameter :: psb_mpi_c_=9,psb_mdata_size_=10
|
||||
integer, parameter :: psb_desc_asb_=3099
|
||||
integer, parameter :: psb_desc_bld_=psb_desc_asb_+1
|
||||
integer, parameter :: psb_desc_upd_=psb_desc_bld_+1
|
||||
integer, parameter :: psb_desc_upd_asb_=psb_desc_upd_+1
|
||||
integer, parameter :: psb_upd_glb_=998,psb_upd_loc_=997
|
||||
integer, parameter :: psb_proc_id_=0,psb_n_elem_recv_=1
|
||||
integer, parameter :: psb_elem_recv_=2,psb_n_elem_send_=2
|
||||
integer, parameter :: psb_elem_send_=3,psb_n_ovrlp_elem_=1
|
||||
integer, parameter :: psb_ovrlp_elem_to_=2,psb_ovrlp_elem_=0
|
||||
integer, parameter :: psb_nnz_=1, psb_n_dom_ovr_=1
|
||||
integer, parameter :: psb_no_comm_=-1, psb_nzsizereq_=3
|
||||
integer, parameter :: ione=1, done=1.d0,izero=0, dzero=0.d0
|
||||
integer, parameter :: itwo=2, ithree=3,root=0, act_abort=1
|
||||
integer, parameter :: psb_nztotreq_=1,psb_nzrowreq_=2
|
||||
character, parameter :: psb_all_='A',psb_topdef_=' '
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
include 'desc.fh'
|
||||
include 'comm.fh'
|
||||
include 'const.fh'
|
@ -1,819 +0,0 @@
|
||||
/* ---------------------------------------------------------------------
|
||||
*
|
||||
* -- PSBLAS routine (version 1.0) --
|
||||
*
|
||||
* ---------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file includes the standard C libraries, as well as system
|
||||
* dependent include files. All PSBLAS routines include this file.
|
||||
*/
|
||||
#include <string.h>
|
||||
|
||||
#ifndef PSBLASH
|
||||
#define PSBLASH
|
||||
/*
|
||||
* ========================================================================
|
||||
* Machine Specific PBLAS macros
|
||||
* ========================================================================
|
||||
*/
|
||||
/* This is a debugging option.
|
||||
#define PS_CONTROL_LEVEL */
|
||||
|
||||
#define _HAL_ 0
|
||||
#define _T3D_ 1
|
||||
|
||||
#ifdef T3D
|
||||
#define _MACH_ _T3D_
|
||||
#endif
|
||||
|
||||
#ifndef _MACH_
|
||||
#define _MACH_ _HAL_
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ========================================================================
|
||||
* Include files
|
||||
* ========================================================================
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
#if( _MACH_ == _T3D_ )
|
||||
#include <fortran.h>
|
||||
#endif
|
||||
|
||||
#ifdef USE_FBLACS
|
||||
#ifndef CTOF_BLACS
|
||||
#include "ctof_blacs.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* ========================================================================
|
||||
* FORTRAN <-> C interface
|
||||
* ========================================================================
|
||||
*
|
||||
* These macros define how the PBLAS will be called. _F2C_ADD_ assumes
|
||||
* that they will be called by FORTRAN, which expects C routines to have
|
||||
* an underscore postfixed to the name (Suns, and Intel machines expect
|
||||
* this). _F2C_NOCHANGE indicates that FORTRAN will be calling, and that
|
||||
* it expects the name called by FORTRAN to be identical to that compiled
|
||||
* by the C (RS6K's do this). _F2C_UPCASE says it expects C routines
|
||||
* called by FORTRAN to be in all upcase (CRAY wants this).
|
||||
*/
|
||||
|
||||
#define _F2C_ADD_ 0
|
||||
#define _F2C_NOCHANGE 1
|
||||
#define _F2C_UPCASE 2
|
||||
|
||||
#ifdef UpCase
|
||||
#define _F2C_CALL_ _F2C_UPCASE
|
||||
#endif
|
||||
|
||||
#ifdef NoChange
|
||||
#define _F2C_CALL_ _F2C_NOCHANGE
|
||||
#endif
|
||||
|
||||
#ifdef Add_
|
||||
#define _F2C_CALL_ _F2C_ADD_
|
||||
#endif
|
||||
|
||||
#ifndef _F2C_CALL_
|
||||
#define _F2C_CALL_ _F2C_ADD_
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ========================================================================
|
||||
* TYPE DEFINITIONS AND CONVERSION UTILITIES
|
||||
* ========================================================================
|
||||
*/
|
||||
|
||||
typedef struct { float re, im; } complex;
|
||||
typedef struct { double re, im; } complex16;
|
||||
|
||||
#if( _MACH_ == _T3D_ )
|
||||
/* Type of character argument in a FORTRAN call */
|
||||
#define F_CHAR _fcd
|
||||
/* Character conversion utilities */
|
||||
#define F2C_CHAR(a) ( _fcdtocp( (a) ) )
|
||||
#define C2F_CHAR(a) ( _cptofcd( (a), 1 ) )
|
||||
/* Type of FORTRAN functions */
|
||||
#define F_VOID_FCT void fortran /* Subroutine */
|
||||
#define F_INTG_FCT int fortran /* INTEGER function */
|
||||
#define F_DBLE_FCT double fortran /* DOUBLE PRECISION function */
|
||||
|
||||
#else
|
||||
/* Type of character argument in a FORTRAN call */
|
||||
typedef char * F_CHAR;
|
||||
/* Character conversion utilities */
|
||||
#define F2C_CHAR(a) (a)
|
||||
#define C2F_CHAR(a) (a)
|
||||
/* Type of FORTRAN functions */
|
||||
#define F_VOID_FCT void /* Subroutine */
|
||||
#define F_INTG_FCT int /* INTEGER function */
|
||||
#define F_DBLE_FCT double /* DOUBLE PRECISION function */
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ======================================================================
|
||||
* FUNCTIONS PROTOTYPES
|
||||
* ======================================================================
|
||||
*/
|
||||
void DVSct(int n, int k,int idx[],int flag, double X[], int lx,
|
||||
double beta, double Y[], int ly);
|
||||
void DVGth(int n, int k,int idx[],int flag, double X[], int lx,double Y[], int ly);
|
||||
void IVSct(int n, int k,int idx[],int flag, int X[], int lx,
|
||||
int beta, int Y[], int ly);
|
||||
void IVGth(int n, int k,int idx[],int flag, int X[], int lx,int Y[], int ly);
|
||||
|
||||
void PSI_dSwapData(int iflag, int n, double beta, double Y[], int ly,
|
||||
int desc_data[], int desc_halo[],
|
||||
double *work, int *lwork, int *ierror);
|
||||
|
||||
void PSI_dSwapTran(int flag, int n, double beta, double Y[], int ly,
|
||||
int desc_data[], int desc_halo[],
|
||||
double *work, int *lwork, int *ierror);
|
||||
|
||||
void PSI_zSwapData(int n, double Y[], int ly, int desc_data[], int desc_halo[],
|
||||
double *work, int *lwork, int *ierror);
|
||||
|
||||
void PSI_zSwapOverlap(double Y[], double Sum_Ovrlap[], int desc_data[],
|
||||
int desc_ovrlap[], double work[], int *lwork, int *ierror);
|
||||
void PSI_iSwapData(int iflag, int n, int beta, int Y[], int ly,
|
||||
int desc_data[], int desc_halo[],
|
||||
int *work, int *lwork, int *ierror);
|
||||
|
||||
void PSI_iSwapTran(int flag, int n, int beta, int Y[], int ly,
|
||||
int desc_data[], int desc_halo[],
|
||||
int *work, int *lwork, int *ierror);
|
||||
|
||||
/*
|
||||
* ========================================================================
|
||||
* #DEFINE MACRO CONSTANTS
|
||||
* ========================================================================
|
||||
*/
|
||||
/* MACRO max */
|
||||
#define max(x,y) ((x)>(y)?(x):(y))
|
||||
|
||||
/*MACRO for ovrlap update*/
|
||||
#define NOHALO_ 0
|
||||
#define HALO_ 4
|
||||
#define NONE_ 0
|
||||
#define SUM_ 1
|
||||
#define AVG_ 2
|
||||
#define SQUARE_ROOT_ 3
|
||||
|
||||
/* Bit fields to control swapdata/ovrlap behaviour.
|
||||
BEWARE: check consistency with tools_const.f.
|
||||
Should it be automated? */
|
||||
#define SWAP_SEND 1
|
||||
#define SWAP_RECV 2
|
||||
#define SWAP_SYNC 4
|
||||
#define SWAP_MPI 8
|
||||
|
||||
|
||||
/* Macro for MATRIX_DATA array */
|
||||
#define DEC_TYPE_ 0 /* The type of decomposition of global
|
||||
matrix A. */
|
||||
#define M_ 1 /* Number of equations */
|
||||
#define N_ 2 /* Number of variables */
|
||||
#define N_ROW_ 3 /* The number of row of local matrix. */
|
||||
#define N_COL_ 4 /* The number of columns of local
|
||||
matrix. */
|
||||
#define CTXT_ 5 /* The BLACS context handle, indicating
|
||||
the global context of the operation
|
||||
on the matrix.
|
||||
The context itself is global. */
|
||||
#define LOC_TO_GLOB_ 6 /* The pointer to the array
|
||||
loc_to_glob */
|
||||
#define MPI_C_ 8 /* The MPI Fortran handle */
|
||||
/* values for DEC_TYPE_ */
|
||||
#define DESC_ASB 3099
|
||||
#define DESC_BLD (DESC_ASB+1)
|
||||
|
||||
/* Macro for HALO array */
|
||||
#define PROC_ID_ 0 /* The identifier of domain. */
|
||||
#define N_ELEM_RECV_ 1 /* The number of elements to receive*/
|
||||
#define ELEM_RECV_ 2 /* The first index of local elements */
|
||||
#define N_ELEM_SEND_ 2 /* The number of elements to send */
|
||||
#define ELEM_SEND_ 3 /* The first index of local elements */
|
||||
|
||||
/* Macro for OVERLAP array */
|
||||
#define N_OVRLP_ELEM_ 1 /* The number of overlap elements to recv/send */
|
||||
#define OVRLP_ELEM_TO_ 2 /* The first index of local elements */
|
||||
|
||||
/* Macro for OVR_ELEM_D array */
|
||||
#define OVRLP_ELEM_ 0
|
||||
#define N_DOM_OVR_ 1
|
||||
|
||||
#define BROADCAST "B" /* Blacs operation definitions */
|
||||
#define COMBINE "C"
|
||||
|
||||
#define ALL "A" /* Scope definitions */
|
||||
#define COLUMN "C"
|
||||
#define ROW "R"
|
||||
|
||||
#define TOPDEF " " /* Default BLACS topology, PB-BLAS routines */
|
||||
#define CTOPDEF ' '
|
||||
#define TOPGET "!"
|
||||
|
||||
#define YES "Y"
|
||||
#define NO "N"
|
||||
|
||||
#define MULLENFAC 2
|
||||
|
||||
#define ONE 1.0
|
||||
#define ZERO 0.0
|
||||
|
||||
/* Integer values for error checking */
|
||||
#define no_err 0
|
||||
#define act_ret 0
|
||||
#define act_abort 1
|
||||
|
||||
|
||||
/*
|
||||
* ========================================================================
|
||||
* PREPROCESSOR MACRO FUNCTIONS USED FOR OPTIMIZATION & CONVENIENCE
|
||||
* ========================================================================
|
||||
*/
|
||||
|
||||
#define ABS(a) ((a > 0) ? (a) : (-a))
|
||||
|
||||
#define MIN(a,b) ((a < b) ? (a) : (b))
|
||||
|
||||
#define MAX(a,b) ((a > b) ? (a) : (b))
|
||||
|
||||
#define CEIL(a,b) ( (a+b-1) / (b) )
|
||||
|
||||
#define Mlowcase(C) ( ((C) > 64 && (C) < 91) ? (C) | 32 : (C) )
|
||||
|
||||
#define Mupcase(C) ( ((C) > 96 && (C) < 123) ? (C) & 0xDF : (C) )
|
||||
|
||||
#define INDXG2L( iglob, nb, iproc, isrcproc, nprocs )\
|
||||
( (nb) * ( ( (iglob)-1) / ( (nb) * (nprocs) ) ) +\
|
||||
( ( (iglob) - 1 ) % (nb) ) + 1 )
|
||||
|
||||
#define INDXL2G( iloc, nb, iproc, isrcproc, nprocs )\
|
||||
( (nprocs) * (nb) * ( ( (iloc) - 1 ) / (nb) ) +\
|
||||
( ( (iloc) - 1 ) % (nb) ) +\
|
||||
( ( (nprocs) + (iproc) - (isrcproc) ) % (nprocs) ) * (nb) + 1 )
|
||||
|
||||
#define INDXG2P( iglob, nb, iproc, isrcproc, nprocs ) \
|
||||
( ( (isrcproc) + ( (iglob) - 1 ) / (nb) ) % (nprocs) )
|
||||
|
||||
#define MYROC0( nblocks, n, nb, nprocs )\
|
||||
( ( (nblocks) % (nprocs) ) ? ( ( (nblocks) / (nprocs) ) * (nb) + (nb) )\
|
||||
: ( ( (nblocks) / (nprocs) )* (nb) + ( (n) % (nb) ) ) )
|
||||
|
||||
#if( _F2C_CALL_ == _F2C_ADD_ )
|
||||
/*
|
||||
* These defines set up the naming scheme required to have a FORTRAN
|
||||
* routine call a C routine (which is what the PBLAS are written in).
|
||||
* No redefinition necessary to have following FORTRAN to C interface:
|
||||
* FORTRAN CALL C DECLARATION
|
||||
* call pdgemm(...) void pdgemm_(...)
|
||||
*
|
||||
* This is the default.
|
||||
*/
|
||||
#define dcsmm dcsmm_
|
||||
#define dcssm dcssm_
|
||||
#define dcsnmi dcsnmi_
|
||||
#define idamax idamax_
|
||||
#define izamax izamax_
|
||||
#define ddot ddot_
|
||||
#define dasum dasum_
|
||||
#define daxpby daxpby_
|
||||
#define dscal dscal_
|
||||
#define zcsmm zcsmm_
|
||||
#define zcssm zcssm_
|
||||
#define zcsnmi zcsnmi_
|
||||
#define zdot zdot_
|
||||
#define dzasum dzasum_
|
||||
#define zaxpby zaxpby_
|
||||
#define zscal zscal_
|
||||
#define pbchkvectf pbchkvectf_
|
||||
#define fcpsb_errcomm fcpsb_errcomm_
|
||||
#define fcpsb_erractionsave fcpsb_erractionsave_
|
||||
#define fcpsb_erractionrestore fcpsb_erractionrestore_
|
||||
#define fcpsb_perror fcpsb_perror_
|
||||
#define fcpsb_serror fcpsb_serror_
|
||||
#define fcpsb_errpush fcpsb_errpush_
|
||||
#endif
|
||||
|
||||
#if( _F2C_CALL_ == _F2C_UPCASE )
|
||||
/*
|
||||
* These defines set up the naming scheme required to have a FORTRAN
|
||||
* routine call a C routine (which is what the PBLAS are written in)
|
||||
* following FORTRAN to C interface:
|
||||
* FORTRAN CALL C DECLARATION
|
||||
* call pdgemm(...) void PDGEMM(...)
|
||||
*/
|
||||
#define pbchkvectf PBCHKVECTF /* PSBLAS */
|
||||
#define psddot_ PSDDOT
|
||||
#define psdmdot_ PSDMDOT
|
||||
#define psddot_sub_ PSDDOT_SUB
|
||||
#define psdaxpby_ PSDAXPBY
|
||||
#define psdamax_ PSDAMAX
|
||||
#define psdmamax_ PSDMAMAX
|
||||
#define psdasum_ PSDASUM
|
||||
#define psdnrm2_ PSDNRM2
|
||||
#define psdnrmi_ PSDNRMI
|
||||
#define psdnrmisym_ PSDNRMISYM
|
||||
#define psdhalo_ PSDHALO
|
||||
#define psihalo_ PSIHALO
|
||||
#define psdhred_ PSDHRED
|
||||
#define psdovrl_ PSDOVRL
|
||||
#define psdspmm_ PSDSPMM
|
||||
#define psdswaptran_ PSDSWAPTRAN
|
||||
#define psdspmmsym_ PSDSPMMSYM
|
||||
#define psdspsm_ PSDSPSM
|
||||
#define psderror_ PSDERROR
|
||||
#define psdverify_ PSDVERIFY
|
||||
#define psdscatterm_ PSDSCATTERM
|
||||
#define psdgatherm PSDGATHERM
|
||||
/* PSBLAS */
|
||||
#define pszdotc_ PSZDOTC
|
||||
#define pszdotu_ PSZDOTU
|
||||
#define pszmdot_ PSZMDOT
|
||||
#define pszaxpby_ PSZAXPBY
|
||||
#define pszamax_ PSZAMAX
|
||||
#define pszmamax_ PSZMAMAX
|
||||
#define pszasum_ PSZASUM
|
||||
#define psznrm2_ PSZNRM2
|
||||
#define psznrmi_ PSZNRMI
|
||||
#define psznrmisym_ PSZNRMISYM
|
||||
#define pszhalo_ PSZHALO
|
||||
#define pszovrl_ PSZOVRL
|
||||
#define pszspmm_ PSZSPMM
|
||||
#define pszspmmsym_ PSZSPMMSYM
|
||||
#define pszspsm_ PSZSPSM
|
||||
#define pszerror_ PSZERROR
|
||||
#define pszverify_ PSZVERIFY
|
||||
#define pszscatterm_ PSZSCATTERM
|
||||
#define pszgatherm_ PSZGATHERM
|
||||
/* BLACS */
|
||||
#define blacs_abort_ BLACS_ABORT
|
||||
#define blacs_gridinfo_ BLACS_GRIDINFO
|
||||
|
||||
#define igesd2d_ IGESD2D
|
||||
#define igebs2d_ IGEBS2D
|
||||
#define itrsd2d_ ITRSD2D
|
||||
#define itrbs2d_ ITRBS2D
|
||||
#define igerv2d_ IGERV2D
|
||||
#define igebr2d_ IGEBR2D
|
||||
#define itrrv2d_ ITRRV2D
|
||||
#define itrbr2d_ ITRBR2D
|
||||
#define igamx2d_ IGAMX2D
|
||||
#define igamn2d_ IGAMN2D
|
||||
#define igsum2d_ IGSUM2D
|
||||
|
||||
#define sgesd2d_ SGESD2D
|
||||
#define sgebs2d_ SGEBS2D
|
||||
#define strsd2d_ STRSD2D
|
||||
#define strbs2d_ STRBS2D
|
||||
#define sgerv2d_ SGERV2D
|
||||
#define sgebr2d_ SGEBR2D
|
||||
#define strrv2d_ STRRV2D
|
||||
#define strbr2d_ STRBR2D
|
||||
#define sgamx2d_ SGAMX2D
|
||||
#define sgamn2d_ SGAMN2D
|
||||
#define sgsum2d_ SGSUM2D
|
||||
|
||||
#define dgesd2d_ DGESD2D
|
||||
#define dgebs2d_ DGEBS2D
|
||||
#define dtrsd2d_ DTRSD2D
|
||||
#define dtrbs2d_ DTRBS2D
|
||||
#define dgerv2d_ DGERV2D
|
||||
#define dgebr2d_ DGEBR2D
|
||||
#define dtrrv2d_ DTRRV2D
|
||||
#define dtrbr2d_ DTRBR2D
|
||||
#define dgamx2d_ DGAMX2D
|
||||
#define dgamn2d_ DGAMN2D
|
||||
#define dgsum2d_ DGSUM2D
|
||||
|
||||
#define cgesd2d_ CGESD2D
|
||||
#define cgebs2d_ CGEBS2D
|
||||
#define ctrsd2d_ CTRSD2D
|
||||
#define ctrbs2d_ CTRBS2D
|
||||
#define cgerv2d_ CGERV2D
|
||||
#define cgebr2d_ CGEBR2D
|
||||
#define ctrrv2d_ CTRRV2D
|
||||
#define ctrbr2d_ CTRBR2D
|
||||
#define cgamx2d_ CGAMX2D
|
||||
#define cgamn2d_ CGAMN2D
|
||||
#define cgsum2d_ CGSUM2D
|
||||
|
||||
#define zgesd2d_ ZGESD2D
|
||||
#define zgebs2d_ ZGEBS2D
|
||||
#define ztrsd2d_ ZTRSD2D
|
||||
#define ztrbs2d_ ZTRBS2D
|
||||
#define zgerv2d_ ZGERV2D
|
||||
#define zgebr2d_ ZGEBR2D
|
||||
#define ztrrv2d_ ZTRRV2D
|
||||
#define ztrbr2d_ ZTRBR2D
|
||||
#define zgamx2d_ ZGAMX2D
|
||||
#define zgamn2d_ ZGAMN2D
|
||||
#define zgsum2d_ ZGSUM2D
|
||||
/* Level-1 BLAS */
|
||||
#define srotg_ SROTG
|
||||
#define srotmg_ SROTMG
|
||||
#define srot_ SROT
|
||||
#define srotm_ SROTM
|
||||
#define sswap_ SSWAP
|
||||
#define sscal_ SSCAL
|
||||
#define scopy_ SCOPY
|
||||
#define saxpy_ SAXPY
|
||||
#define ssdot_ SSDOT
|
||||
#define isamax_ ISAMAX
|
||||
|
||||
#define drotg_ DROTG
|
||||
#define drotmg_ DROTMG
|
||||
#define drot_ DROT
|
||||
#define drotm_ DROTM
|
||||
#define dswap_ DSWAP
|
||||
#define dscal_ DSCAL
|
||||
#define dcopy_ DCOPY
|
||||
#define daxpy_ DAXPY
|
||||
#define dddot_ DDDOT
|
||||
#define dnrm2_ DNRM2
|
||||
#define dsnrm2_ DSNRM2
|
||||
#define dasum_ DASUM
|
||||
#define dsasum_ DSASUM
|
||||
#define idamax_ IDAMAX
|
||||
#define daxpby_ DAXPBY
|
||||
|
||||
#define zaxpby_ ZAXPBY /* to match added internal function */
|
||||
|
||||
#define cswap_ CSWAP
|
||||
#define cscal_ CSCAL
|
||||
#define csscal_ CSSCAL
|
||||
#define ccopy_ CCOPY
|
||||
#define caxpy_ CAXPY
|
||||
#define ccdotu_ CCDOTU
|
||||
#define ccdotc_ CCDOTC
|
||||
#define icamax_ ICAMAX
|
||||
|
||||
#define zswap_ ZSWAP
|
||||
#define zscal_ ZSCAL
|
||||
#define zdscal_ ZDSCAL
|
||||
#define zcopy_ ZCOPY
|
||||
#define zaxpy_ ZAXPY
|
||||
#define zzdotu_ ZZDOTU
|
||||
#define zzdotc_ ZZDOTC
|
||||
#define dscnrm2_ DSCNRM2
|
||||
#define dznrm2_ DZNRM2
|
||||
#define dscasum_ DSCASUM
|
||||
#define dzasum_ DZASUM
|
||||
#define izamax_ IZAMAX
|
||||
/* Level-2 BLAS */
|
||||
#define sgemv_ SGEMV
|
||||
#define ssymv_ SSYMV
|
||||
#define strmv_ STRMV
|
||||
#define strsv_ STRSV
|
||||
#define sger_ SGER
|
||||
#define ssyr_ SSYR
|
||||
#define ssyr2_ SSYR2
|
||||
|
||||
#define dgemv_ DGEMV
|
||||
#define dsymv_ DSYMV
|
||||
#define dtrmv_ DTRMV
|
||||
#define dtrsv_ DTRSV
|
||||
#define dger_ DGER
|
||||
#define dsyr_ DSYR
|
||||
#define dsyr2_ DSYR2
|
||||
|
||||
#define cgemv_ CGEMV
|
||||
#define chemv_ CHEMV
|
||||
#define ctrmv_ CTRMV
|
||||
#define ctrsv_ CTRSV
|
||||
#define cgeru_ CGERU
|
||||
#define cgerc_ CGERC
|
||||
#define cher_ CHER
|
||||
#define cher2_ CHER2
|
||||
|
||||
#define zgemv_ ZGEMV
|
||||
#define zhemv_ ZHEMV
|
||||
#define ztrmv_ ZTRMV
|
||||
#define ztrsv_ ZTRSV
|
||||
#define zgeru_ ZGERU
|
||||
#define zgerc_ ZGERC
|
||||
#define zher_ ZHER
|
||||
#define zher2_ ZHER2
|
||||
/* Level-3 BLAS */
|
||||
#define sgemm_ SGEMM
|
||||
#define ssymm_ SSYMM
|
||||
#define ssyrk_ SSYRK
|
||||
#define ssyr2k_ SSYR2K
|
||||
#define strmm_ STRMM
|
||||
#define strsm_ STRSM
|
||||
|
||||
#define dgemm_ DGEMM
|
||||
#define dsymm_ DSYMM
|
||||
#define dsyrk_ DSYRK
|
||||
#define dsyr2k_ DSYR2K
|
||||
#define dtrmm_ DTRMM
|
||||
#define dtrsm_ DTRSM
|
||||
|
||||
#define cgemm_ CGEMM
|
||||
#define chemm_ CHEMM
|
||||
#define csymm_ CSYMM
|
||||
#define csyrk_ CSYRK
|
||||
#define cherk_ CHERK
|
||||
#define csyr2k_ CSYR2K
|
||||
#define cher2k_ CHER2K
|
||||
#define ctrmm_ CTRMM
|
||||
#define ctrsm_ CTRSM
|
||||
|
||||
#define zgemm_ ZGEMM
|
||||
#define zhemm_ ZHEMM
|
||||
#define zsymm_ ZSYMM
|
||||
#define zsyrk_ ZSYRK
|
||||
#define zherk_ ZHERK
|
||||
#define zsyr2k_ ZSYR2K
|
||||
#define zher2k_ ZHER2K
|
||||
#define ztrmm_ ZTRMM
|
||||
#define ztrsm_ ZTRSM
|
||||
/* Auxilliary PBLAS */
|
||||
#define pberror_ PBERROR
|
||||
#define pbfreebuf_ PBFREEBUF
|
||||
|
||||
#define dcsmm DCSMM
|
||||
#define dcssm DCSSM
|
||||
#define dcsnmi DCSNMI
|
||||
#define zcsnmi ZCSNMI
|
||||
|
||||
#endif
|
||||
|
||||
#if( _F2C_CALL_ == _F2C_NOCHANGE )
|
||||
/*
|
||||
* These defines set up the naming scheme required to have a FORTRAN
|
||||
* routine call a C routine (which is what the PBLAS are written in)
|
||||
* for following FORTRAN to C interface:
|
||||
* FORTRAN CALL C DECLARATION
|
||||
* call pdgemm(...) void pdgemm(...)
|
||||
*/
|
||||
|
||||
|
||||
/* PSBLAS */
|
||||
#define psddot_ psddot
|
||||
#define psdmdot_ psdmdot
|
||||
#define psdaxpby_ psdaxpby
|
||||
#define psdamax_ psdamax
|
||||
#define psdmamax_ psdmamax
|
||||
#define psdasum_ psdasum
|
||||
#define psdnrm2_ psdnrm2
|
||||
#define psdnrmi_ psdnrmi
|
||||
#define psdnrmisym_ psdnrmisym
|
||||
#define psdhalo_ psdhalo
|
||||
#define psihalo_ psihalo
|
||||
#define psdhred_ psdhred
|
||||
#define psdovrl_ psdovrl
|
||||
#define psdspmm_ psdspmm
|
||||
#define psdswaptran_ psdswaptran
|
||||
#define psdspmmsym_ psdspmmsym
|
||||
#define psdspsm_ psdspsm
|
||||
#define psderror_ psderror
|
||||
#define psdverify_ psdverify
|
||||
#define psdscatterm_ psdscatterm
|
||||
#define psdgatherm_ psdgatherm
|
||||
|
||||
#define pszmdot_ pszmdot
|
||||
#define pszdotc_ pszdotc
|
||||
#define pszdotu_ pszdotu
|
||||
#define pszaxpby_ pszaxpby
|
||||
#define pszamax_ pszamax
|
||||
#define pszmamax_ pszmamax
|
||||
#define pszasum_ pszasum
|
||||
#define psznrm2_ psznrm2
|
||||
#define psznrmi_ psznrmi
|
||||
#define psznrmisym_ psznrmisym
|
||||
#define pszhalo_ pszhalo
|
||||
#define pszovrl_ pszovrl
|
||||
#define pszspmm_ pszspmm
|
||||
#define pszspmmsym_ pszspmmsym
|
||||
#define pszspsm_ pszspsm
|
||||
#define pszerror_ pszerror
|
||||
#define pszverify_ pszverify
|
||||
#define pszscatterm_ pszscatterm
|
||||
#define pszgatherm_ pszgatherm
|
||||
|
||||
|
||||
/* BLACS */
|
||||
#define blacs_abort_ blacs_abort
|
||||
#define blacs_gridinfo_ blacs_gridinfo
|
||||
|
||||
#define igesd2d_ igesd2d
|
||||
#define igebs2d_ igebs2d
|
||||
#define itrsd2d_ itrsd2d
|
||||
#define itrbs2d_ itrbs2d
|
||||
#define igerv2d_ igerv2d
|
||||
#define igebr2d_ igebr2d
|
||||
#define itrrv2d_ itrrv2d
|
||||
#define itrbr2d_ itrbr2d
|
||||
#define igamx2d_ igamx2d
|
||||
#define igamn2d_ igamn2d
|
||||
#define igsum2d_ igsum2d
|
||||
|
||||
#define sgesd2d_ sgesd2d
|
||||
#define sgebs2d_ sgebs2d
|
||||
#define strsd2d_ strsd2d
|
||||
#define strbs2d_ strbs2d
|
||||
#define sgerv2d_ sgerv2d
|
||||
#define sgebr2d_ sgebr2d
|
||||
#define strrv2d_ strrv2d
|
||||
#define strbr2d_ strbr2d
|
||||
#define sgamx2d_ sgamx2d
|
||||
#define sgamn2d_ sgamn2d
|
||||
#define sgsum2d_ sgsum2d
|
||||
|
||||
#define dgesd2d_ dgesd2d
|
||||
#define dgebs2d_ dgebs2d
|
||||
#define dtrsd2d_ dtrsd2d
|
||||
#define dtrbs2d_ dtrbs2d
|
||||
#define dgerv2d_ dgerv2d
|
||||
#define dgebr2d_ dgebr2d
|
||||
#define dtrrv2d_ dtrrv2d
|
||||
#define dtrbr2d_ dtrbr2d
|
||||
#define dgamx2d_ dgamx2d
|
||||
#define dgamn2d_ dgamn2d
|
||||
#define dgsum2d_ dgsum2d
|
||||
|
||||
#define cgesd2d_ cgesd2d
|
||||
#define cgebs2d_ cgebs2d
|
||||
#define ctrsd2d_ ctrsd2d
|
||||
#define ctrbs2d_ ctrbs2d
|
||||
#define cgerv2d_ cgerv2d
|
||||
#define cgebr2d_ cgebr2d
|
||||
#define ctrrv2d_ ctrrv2d
|
||||
#define ctrbr2d_ ctrbr2d
|
||||
#define cgamx2d_ cgamx2d
|
||||
#define cgamn2d_ cgamn2d
|
||||
#define cgsum2d_ cgsum2d
|
||||
|
||||
#define zgesd2d_ zgesd2d
|
||||
#define zgebs2d_ zgebs2d
|
||||
#define ztrsd2d_ ztrsd2d
|
||||
#define ztrbs2d_ ztrbs2d
|
||||
#define zgerv2d_ zgerv2d
|
||||
#define zgebr2d_ zgebr2d
|
||||
#define ztrrv2d_ ztrrv2d
|
||||
#define ztrbr2d_ ztrbr2d
|
||||
#define zgamx2d_ zgamx2d
|
||||
#define zgamn2d_ zgamn2d
|
||||
#define zgsum2d_ zgsum2d
|
||||
/* Level-1 BLAS */
|
||||
#define srotg_ srotg
|
||||
#define srotmg_ srotmg
|
||||
#define srot_ srot
|
||||
#define srotm_ srotm
|
||||
#define sswap_ sswap
|
||||
#define sscal_ sscal
|
||||
#define scopy_ scopy
|
||||
#define saxpy_ saxpy
|
||||
#define ssdot_ ssdot
|
||||
#define isamax_ isamax
|
||||
|
||||
#define drotg_ drotg
|
||||
#define drotmg_ drotmg
|
||||
#define drot_ drot
|
||||
#define drotm_ drotm
|
||||
#define dswap_ dswap
|
||||
#define dscal_ dscal
|
||||
#define dcopy_ dcopy
|
||||
#define daxpy_ daxpy
|
||||
#define dddot_ dddot
|
||||
#define dnrm2_ dnrm2
|
||||
#define dsnrm2_ dsnrm2
|
||||
#define dasum_ dasum
|
||||
#define dsasum_ dsasum
|
||||
#define idamax_ idamax
|
||||
#define daxpby_ daxpby
|
||||
|
||||
#define zaxpby_ zaxpby
|
||||
|
||||
#define cswap_ cswap
|
||||
#define cscal_ cscal
|
||||
#define csscal_ csscal
|
||||
#define ccopy_ ccopy
|
||||
#define caxpy_ caxpy
|
||||
#define ccdotu_ ccdotu
|
||||
#define ccdotc_ ccdotc
|
||||
#define icamax_ icamax
|
||||
|
||||
#define zswap_ zswap
|
||||
#define zscal_ zscal
|
||||
#define zdscal_ zdscal
|
||||
#define zcopy_ zcopy
|
||||
#define zaxpy_ zaxpy
|
||||
#define zzdotu_ zzdotu
|
||||
#define zzdotc_ zzdotc
|
||||
#define dscnrm2_ dscnrm2
|
||||
#define dznrm2_ dznrm2
|
||||
#define dscasum_ dscasum
|
||||
#define dzasum_ dzasum
|
||||
#define izamax_ izamax
|
||||
/* Level-2 BLAS */
|
||||
#define sgemv_ sgemv
|
||||
#define ssymv_ ssymv
|
||||
#define strmv_ strmv
|
||||
#define strsv_ strsv
|
||||
#define sger_ sger
|
||||
#define ssyr_ ssyr
|
||||
#define ssyr2_ ssyr2
|
||||
|
||||
#define dgemv_ dgemv
|
||||
#define dsymv_ dsymv
|
||||
#define dtrmv_ dtrmv
|
||||
#define dtrsv_ dtrsv
|
||||
#define dger_ dger
|
||||
#define dsyr_ dsyr
|
||||
#define dsyr2_ dsyr2
|
||||
|
||||
#define cgemv_ cgemv
|
||||
#define chemv_ chemv
|
||||
#define ctrmv_ ctrmv
|
||||
#define ctrsv_ ctrsv
|
||||
#define cgeru_ cgeru
|
||||
#define cgerc_ cgerc
|
||||
#define cher_ cher
|
||||
#define cher2_ cher2
|
||||
|
||||
#define zgemv_ zgemv
|
||||
#define zhemv_ zhemv
|
||||
#define ztrmv_ ztrmv
|
||||
#define ztrsv_ ztrsv
|
||||
#define zgeru_ zgeru
|
||||
#define zgerc_ zgerc
|
||||
#define zher_ zher
|
||||
#define zher2_ zher2
|
||||
/* Level-3 BLAS */
|
||||
#define sgemm_ sgemm
|
||||
#define ssymm_ ssymm
|
||||
#define ssyrk_ ssyrk
|
||||
#define ssyr2k_ ssyr2k
|
||||
#define strmm_ strmm
|
||||
#define strsm_ strsm
|
||||
|
||||
#define dgemm_ dgemm
|
||||
#define dsymm_ dsymm
|
||||
#define dsyrk_ dsyrk
|
||||
#define dsyr2k_ dsyr2k
|
||||
#define dtrmm_ dtrmm
|
||||
#define dtrsm_ dtrsm
|
||||
|
||||
#define cgemm_ cgemm
|
||||
#define chemm_ chemm
|
||||
#define csymm_ csymm
|
||||
#define csyrk_ csyrk
|
||||
#define cherk_ cherk
|
||||
#define csyr2k_ csyr2k
|
||||
#define cher2k_ cher2k
|
||||
#define ctrmm_ ctrmm
|
||||
#define ctrsm_ ctrsm
|
||||
|
||||
#define zgemm_ zgemm
|
||||
#define zhemm_ zhemm
|
||||
#define zsymm_ zsymm
|
||||
#define zsyrk_ zsyrk
|
||||
#define zherk_ zherk
|
||||
#define zsyr2k_ zsyr2k
|
||||
#define zher2k_ zher2k
|
||||
#define ztrmm_ ztrmm
|
||||
#define ztrsm_ ztrsm
|
||||
/* Auxilliary PBLAS */
|
||||
#define pberror_ pberror
|
||||
#define pbfreebuf_ pbfreebuf
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void pbchkvect( int, int, int, int, int, int, int *, int, int, int *, int *,
|
||||
int *) ;
|
||||
|
||||
void pbchkmat( int, int, int, int, int, int, int *, int, int, int *, int *, int *);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
@ -1,26 +0,0 @@
|
||||
INTEGER MINJDROWS, MAXJDROWS
|
||||
PARAMETER (MINJDROWS=4, MAXJDROWS=8)
|
||||
DOUBLE PRECISION PERCENT
|
||||
INTEGER DBLEINT_
|
||||
INTEGER DCMPLXINT_
|
||||
C ... This parameter represent sizeof(DOUBLE)/sizeof(INTEGER) ...
|
||||
PARAMETER (PERCENT=0.7,DBLEINT_=2)
|
||||
PARAMETER (DCMPLXINT_ = 4)
|
||||
character fidef*5
|
||||
parameter (fidef='CSR')
|
||||
integer, parameter :: nnz_=1
|
||||
integer, parameter :: del_bnd_=6, srtd_=7
|
||||
integer, parameter :: state_=8, upd_=9
|
||||
integer, parameter :: upd_pnt_=10, ifasize_=10
|
||||
integer, parameter :: spmat_null=0, spmat_bld=1
|
||||
integer, parameter :: spmat_asb=2, spmat_upd=4
|
||||
|
||||
integer perm_update
|
||||
parameter (perm_update=98765)
|
||||
integer isrtdcoo
|
||||
parameter (isrtdcoo=98764)
|
||||
integer ireg_flgs
|
||||
parameter (ireg_flgs=10)
|
||||
integer ip2_, iflag_, ipc_, ichk_, nnzt_, zero_
|
||||
parameter (ip2_=0, iflag_=2, ichk_=3)
|
||||
parameter ( nnzt_=4, zero_=5,ipc_=6)
|
Loading…
Reference in New Issue