mirror of https://gitlab.com/QEF/q-e.git
fpmd.h merged with machine.h and eliminated
use of machine.h extended to CPV in place of compiler macro other minor changes git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@79 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
e15471940a
commit
4455df25ab
|
@ -1,5 +1,7 @@
|
|||
!------------------------------------------------------------------------------!
|
||||
MODULE cell_module
|
||||
!------------------------------------------------------------------------------!
|
||||
|
||||
USE kinds, ONLY : dbl
|
||||
USE cell_base
|
||||
!
|
||||
|
@ -13,49 +15,8 @@
|
|||
! Cell variables read from stdin
|
||||
! They should never be changed.
|
||||
|
||||
REAL(KIND=8), PUBLIC :: h(3,3), deth, hold(3,3), wmass
|
||||
REAL(KIND=8), PUBLIC :: h(3,3), deth, hold(3,3), wmass
|
||||
!
|
||||
REAL(dbl), PRIVATE :: A1(3)
|
||||
REAL(dbl), PRIVATE :: A2(3)
|
||||
REAL(dbl), PRIVATE :: A3(3)
|
||||
|
||||
REAL(dbl), PRIVATE :: celldm(6)
|
||||
INTEGER, PRIVATE :: IBRAV
|
||||
|
||||
REAL(dbl), PRIVATE :: PRESS
|
||||
REAL(dbl), PRIVATE :: WC
|
||||
|
||||
LOGICAL, PRIVATE :: taxis(3) = (/ .FALSE., .FALSE., .FALSE. /)
|
||||
|
||||
DATA IBRAV/-1/
|
||||
DATA WC/0.0d0/
|
||||
|
||||
|
||||
contains
|
||||
|
||||
!------------------------------------------------------------------------------!
|
||||
|
||||
|
||||
SUBROUTINE get_lattice_vectors(a1_out,a2_out,a3_out)
|
||||
REAL(dbl), intent(out) :: a1_out(3), a2_out(3), a3_out(3)
|
||||
a1_out = a1
|
||||
a2_out = a2
|
||||
a3_out = a3
|
||||
RETURN
|
||||
END SUBROUTINE get_lattice_vectors
|
||||
|
||||
!------------------------------------------------------------------------------!
|
||||
|
||||
SUBROUTINE get_celldm( ibrav_out, celldm_out)
|
||||
REAL(dbl), intent(out) :: celldm_out(6)
|
||||
INTEGER, intent(out) :: ibrav_out
|
||||
ibrav_out = ibrav
|
||||
celldm_out = celldm
|
||||
RETURN
|
||||
END SUBROUTINE get_celldm
|
||||
|
||||
!------------------------------------------------------------------------------!
|
||||
|
||||
!
|
||||
!------------------------------------------------------------------------------!
|
||||
END MODULE cell_module
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
|
||||
#include "../include/machine.h"
|
||||
|
||||
!-----------------------------------------------------------------------
|
||||
subroutine aainit(lli,ap,lpx,lpl)
|
||||
!-----------------------------------------------------------------------
|
||||
|
@ -214,7 +217,7 @@
|
|||
end do
|
||||
end do
|
||||
!
|
||||
call SCAL(lix*lx*lix*lx*lx,sqrt(1./fpi),cc,1)
|
||||
call DSCAL(lix*lx*lix*lx*lx,sqrt(1./fpi),cc,1)
|
||||
!
|
||||
! transform between real spherical harmonics and the original ones
|
||||
! ( y^r_lm = sum_n u(l,m,n) y_ln )
|
||||
|
@ -411,12 +414,12 @@
|
|||
!
|
||||
if (nspin.eq.1) then
|
||||
iss=1
|
||||
call AXPY(nnr,1.d0,rhoc,1,rhor(1,iss),1)
|
||||
call DAXPY(nnr,1.d0,rhoc,1,rhor(1,iss),1)
|
||||
else
|
||||
isup=1
|
||||
isdw=2
|
||||
call AXPY(nnr,0.5d0,rhoc,1,rhor(1,isup),1)
|
||||
call AXPY(nnr,0.5d0,rhoc,1,rhor(1,isdw),1)
|
||||
call DAXPY(nnr,0.5d0,rhoc,1,rhor(1,isup),1)
|
||||
call DAXPY(nnr,0.5d0,rhoc,1,rhor(1,isdw),1)
|
||||
end if
|
||||
! rhoc(r) -> rhoc(g) (wrk1 is used as work space)
|
||||
do ir=1,nnr
|
||||
|
@ -2085,7 +2088,7 @@
|
|||
10 continue
|
||||
end do
|
||||
!
|
||||
call AXPY(3*nax*nsp,1.d0,fcc,1,fion1,1)
|
||||
call DAXPY(3*nax*nsp,1.d0,fcc,1,fion1,1)
|
||||
!
|
||||
call tictac(21,1)
|
||||
return
|
||||
|
@ -3301,14 +3304,14 @@
|
|||
! calculate orthogonalized cp(i) : |cp(i)>=|cp(i)>-\sum_k<i csc(k)|cp(k)>
|
||||
!
|
||||
do k=1,i-1
|
||||
call AXPY(2*ngw,-csc(k),cp(1,k),1,cp(1,i),1)
|
||||
call DAXPY(2*ngw,-csc(k),cp(1,k),1,cp(1,i),1)
|
||||
end do
|
||||
anorm =cscnorm(bec,cp,i)
|
||||
call SCAL(2*ngw,1.0/anorm,cp(1,i),1)
|
||||
call DSCAL(2*ngw,1.0/anorm,cp(1,i),1)
|
||||
!
|
||||
! these are the final bec's
|
||||
!
|
||||
call SCAL(nhsavb,1.0/anorm,bec(1,i),1)
|
||||
call DSCAL(nhsavb,1.0/anorm,bec(1,i),1)
|
||||
end do
|
||||
!
|
||||
call tictac(10,1)
|
||||
|
@ -4251,7 +4254,7 @@
|
|||
#ifdef __PARA
|
||||
call reduce(3*nax*nvb,fvan)
|
||||
#endif
|
||||
call AXPY(3*nax*nvb,-1.d0,fvan,1,fion,1)
|
||||
call DAXPY(3*nax*nvb,-1.d0,fvan,1,fion,1)
|
||||
!
|
||||
10 call tictac(11,1)
|
||||
!
|
||||
|
@ -7165,7 +7168,7 @@
|
|||
10 continue
|
||||
end do
|
||||
!
|
||||
call COPY(nnr,wrk1,2,rhoc,1)
|
||||
call DCOPY(nnr,wrk1,2,rhoc,1)
|
||||
!
|
||||
call tictac(17,1)
|
||||
!
|
||||
|
@ -7700,7 +7703,7 @@
|
|||
call tictac(9,0)
|
||||
call zero(2*ngw*n,wrk2)
|
||||
do j=1,n
|
||||
call SCAL(n,ccc,x0(1,j),1)
|
||||
call DSCAL(n,ccc,x0(1,j),1)
|
||||
end do
|
||||
!
|
||||
! wrk2 = sum_m lambda_nm s(r(t+dt))|m>
|
||||
|
@ -7746,7 +7749,7 @@
|
|||
endif
|
||||
!
|
||||
do j=1,n
|
||||
call SCAL(n,1.0/ccc,x0(1,j),1)
|
||||
call DSCAL(n,1.0/ccc,x0(1,j),1)
|
||||
end do
|
||||
!
|
||||
call tictac(9,1)
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
|
||||
#include "../include/machine.h"
|
||||
|
||||
!
|
||||
!=======================================================================
|
||||
!
|
||||
|
@ -1343,7 +1346,7 @@
|
|||
!
|
||||
! cm=c(t+dt) c0=c(t)
|
||||
!
|
||||
call SWAP(2*ngw*n,c0,1,cm,1)
|
||||
call DSWAP(2*ngw*n,c0,1,cm,1)
|
||||
!
|
||||
! now: cm=c(t) c0=c(t+dt)
|
||||
!
|
||||
|
|
35
CPV/fftw.f90
35
CPV/fftw.f90
|
@ -5,6 +5,9 @@
|
|||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
|
||||
#include "../include/machine.h"
|
||||
|
||||
#if defined(__FFTW)
|
||||
module fftw_mod
|
||||
|
||||
|
@ -34,9 +37,9 @@ end module fftw_mod
|
|||
! must be used
|
||||
!
|
||||
#if defined(__SGI64) || defined(__COMPAQ)
|
||||
#define POINTER integer(kind=8)
|
||||
#define PLAN_C_POINTER integer(kind=8)
|
||||
#else
|
||||
#define POINTER integer
|
||||
#define PLAN_C_POINTER integer
|
||||
#endif
|
||||
!
|
||||
!-------------------------------------------------------------------------
|
||||
|
@ -55,7 +58,7 @@ end module fftw_mod
|
|||
!
|
||||
! initialization variables
|
||||
!
|
||||
POINTER plan(2)
|
||||
PLAN_C_POINTER plan(2)
|
||||
save plan
|
||||
data plan/0,0/
|
||||
!
|
||||
|
@ -78,7 +81,7 @@ end module fftw_mod
|
|||
!
|
||||
if (isign.eq.-1) then
|
||||
fac=1.0/float(nr1*nr2*nr3)
|
||||
call SCAL(2*nr1*nr2*nr3, fac, f, 1)
|
||||
call DSCAL(2*nr1*nr2*nr3, fac, f, 1)
|
||||
end if
|
||||
!
|
||||
return
|
||||
|
@ -100,7 +103,7 @@ end module fftw_mod
|
|||
!
|
||||
! initialization variables
|
||||
!
|
||||
POINTER plan(2)
|
||||
PLAN_C_POINTER plan(2)
|
||||
save plan
|
||||
data plan/0,0/
|
||||
!
|
||||
|
@ -123,7 +126,7 @@ end module fftw_mod
|
|||
!
|
||||
if (isign.eq.-1) then
|
||||
fac=1.0/dfloat(nr1*nr2*nr3)
|
||||
call SCAL(2*nr1*nr2*nr3, fac, f, 1)
|
||||
call DSCAL(2*nr1*nr2*nr3, fac, f, 1)
|
||||
end if
|
||||
!
|
||||
return
|
||||
|
@ -145,7 +148,7 @@ end module fftw_mod
|
|||
!
|
||||
! initialization variables
|
||||
!
|
||||
POINTER plan(2)
|
||||
PLAN_C_POINTER plan(2)
|
||||
save plan
|
||||
data plan/0,0/
|
||||
!
|
||||
|
@ -168,7 +171,7 @@ end module fftw_mod
|
|||
!
|
||||
if (isign.eq.-1) then
|
||||
fac=1.0/dfloat(nr1*nr2*nr3)
|
||||
call SCAL(2*nr1*nr2*nr3, fac, f, 1)
|
||||
call DSCAL(2*nr1*nr2*nr3, fac, f, 1)
|
||||
end if
|
||||
!
|
||||
return
|
||||
|
@ -191,7 +194,7 @@ end module fftw_mod
|
|||
!
|
||||
! initialization variables
|
||||
!
|
||||
POINTER plan(2)
|
||||
PLAN_C_POINTER plan(2)
|
||||
save plan
|
||||
data plan/0,0/
|
||||
!
|
||||
|
@ -212,7 +215,7 @@ end module fftw_mod
|
|||
!
|
||||
if (isign.eq.-1) then
|
||||
fac=1.0/float(n)
|
||||
call SCAL(2*nx*m, fac, fout, 1)
|
||||
call DSCAL(2*nx*m, fac, fout, 1)
|
||||
end if
|
||||
#endif
|
||||
return
|
||||
|
@ -236,7 +239,7 @@ end module fftw_mod
|
|||
!
|
||||
! initialization variables
|
||||
!
|
||||
POINTER plan(2)
|
||||
PLAN_C_POINTER plan(2)
|
||||
save plan
|
||||
data plan/0,0/
|
||||
!
|
||||
|
@ -259,7 +262,7 @@ end module fftw_mod
|
|||
!
|
||||
if (isign.eq.-1) then
|
||||
fac=1.0/float(n1*n2)
|
||||
call SCAL(2*nx1*nx2*mplane, fac, f, 1)
|
||||
call DSCAL(2*nx1*nx2*mplane, fac, f, 1)
|
||||
end if
|
||||
#endif
|
||||
return
|
||||
|
@ -282,7 +285,7 @@ end module fftw_mod
|
|||
!
|
||||
! initialization variables
|
||||
!
|
||||
POINTER plan(2)
|
||||
PLAN_C_POINTER plan(2)
|
||||
save plan
|
||||
data plan/0,0/
|
||||
!
|
||||
|
@ -305,7 +308,7 @@ end module fftw_mod
|
|||
!
|
||||
if (isign.eq.-1.or.isign.eq.-2) then
|
||||
fac=1.0/float(n)
|
||||
call SCAL(2*nx*m, fac, fout, 1)
|
||||
call DSCAL(2*nx*m, fac, fout, 1)
|
||||
end if
|
||||
#endif
|
||||
return
|
||||
|
@ -331,7 +334,7 @@ end module fftw_mod
|
|||
!
|
||||
! initialization variables
|
||||
!
|
||||
POINTER plan1(2), plan2(2)
|
||||
PLAN_C_POINTER plan1(2), plan2(2)
|
||||
save plan1, plan2
|
||||
data plan1/0,0/, plan2/0,0/
|
||||
!
|
||||
|
@ -401,7 +404,7 @@ end module fftw_mod
|
|||
end do
|
||||
!
|
||||
fac=1.0/float(n1*n2)
|
||||
call SCAL(2*nx1*nx2*mplane, fac, f, 1)
|
||||
call DSCAL(2*nx1*nx2*mplane, fac, f, 1)
|
||||
!
|
||||
end if
|
||||
#endif
|
||||
|
|
10
CPV/para.f90
10
CPV/para.f90
|
@ -6,6 +6,8 @@
|
|||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
|
||||
#include "../include/machine.h"
|
||||
|
||||
module para_mod
|
||||
|
||||
integer maxproc, ncplanex
|
||||
|
@ -1000,7 +1002,7 @@ end module para_mod
|
|||
from = offset1(proc)
|
||||
dest = 1 + sdispls(proc)
|
||||
do k = 1, ncp_(me)
|
||||
call COPY ( 2 * npp_(proc), &
|
||||
call DCOPY ( 2 * npp_(proc), &
|
||||
& f_in ( from + 2*(k-1)*nr3x) , 1, &
|
||||
& f_aux( dest + 2*(k-1)*npp_(proc) ) , 1 )
|
||||
end do
|
||||
|
@ -1036,7 +1038,7 @@ end module para_mod
|
|||
from = 1 + sdispls(proc)
|
||||
dest = offset1(proc)
|
||||
do k = 1, ncp_(me)
|
||||
call COPY ( 2 * npp_(proc), &
|
||||
call DCOPY ( 2 * npp_(proc), &
|
||||
& f_aux( from + 2*(k-1)*npp_(proc) ) , 1 , &
|
||||
& f_in ( dest + 2*(k-1)*nr3x) , 1 )
|
||||
end do
|
||||
|
@ -1082,7 +1084,7 @@ end module para_mod
|
|||
& MPI_REAL8, MPI_SUM, MPI_COMM_WORLD, ierr)
|
||||
if (ierr.ne.0) &
|
||||
& call error('reduce','error in allreduce1',ierr)
|
||||
call COPY(MAXB,buff,1,ps(1+(n-1)*MAXB),1)
|
||||
call DCOPY(MAXB,buff,1,ps(1+(n-1)*MAXB),1)
|
||||
end do
|
||||
!
|
||||
! possible remaining elements < maxb
|
||||
|
@ -1092,7 +1094,7 @@ end module para_mod
|
|||
& MPI_REAL8, MPI_SUM, MPI_COMM_WORLD, ierr)
|
||||
if (ierr.ne.0) &
|
||||
& call error('reduce','error in allreduce2',ierr)
|
||||
call COPY(size-nbuf*MAXB,buff,1,ps(1+nbuf*MAXB),1)
|
||||
call DCOPY(size-nbuf*MAXB,buff,1,ps(1+nbuf*MAXB),1)
|
||||
endif
|
||||
call tictac(29,1)
|
||||
!
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
! in the root directory of the present distribution,
|
||||
! or http://www.gnu.org/copyleft/gpl.txt .
|
||||
!
|
||||
!
|
||||
|
||||
#include "../include/machine.h"
|
||||
|
||||
complex(kind=8) function csum(n,a,nstride)
|
||||
!
|
||||
! wrapper routine for cray scilib function csum
|
||||
|
@ -98,7 +100,7 @@
|
|||
!
|
||||
! call to BLAS3 routine GEMM
|
||||
!
|
||||
call GEMM &
|
||||
call DGEMM &
|
||||
& (mode1,mode2,nar,nbc,nac,1.d0,a,lda,b,ldb,0.d0,c,icd)
|
||||
!
|
||||
return
|
||||
|
|
|
@ -8,15 +8,18 @@
|
|||
|
||||
MODULE io_global
|
||||
|
||||
USE kinds
|
||||
IMPLICIT NONE
|
||||
|
||||
PRIVATE
|
||||
SAVE
|
||||
|
||||
PUBLIC :: io_global_start, ionode, ionode_id
|
||||
PUBLIC :: io_global_start, io_global_getionode
|
||||
PUBLIC :: ionode, ionode_id
|
||||
|
||||
INTEGER :: ionode_id = 0
|
||||
LOGICAL :: ionode = .TRUE.
|
||||
|
||||
LOGICAL :: first = .TRUE.
|
||||
|
||||
CONTAINS
|
||||
|
||||
|
@ -28,7 +31,20 @@
|
|||
ionode = .FALSE.
|
||||
END IF
|
||||
ionode_id = ionode_set
|
||||
first = .FALSE.
|
||||
RETURN
|
||||
END SUBROUTINE io_global_start
|
||||
|
||||
|
||||
SUBROUTINE io_global_getionode( ionode_out, ionode_id_out )
|
||||
LOGICAL, INTENT(OUT) :: ionode_out
|
||||
INTEGER, INTENT(OUT) :: ionode_id_out
|
||||
IF( first ) &
|
||||
CALL error( ' get_ionode ', ' ionode not yet defined ', 1 )
|
||||
ionode_out = ionode
|
||||
ionode_id_out = ionode_id
|
||||
RETURN
|
||||
END SUBROUTINE io_global_getionode
|
||||
|
||||
|
||||
END MODULE io_global
|
||||
|
|
|
@ -12,84 +12,26 @@
|
|||
#include"cp.h"
|
||||
|
||||
|
||||
void cc_getenv(char *name,char *value)
|
||||
void use_c_getenv( char *name, char *value, int nchmax )
|
||||
{
|
||||
char *ptr;
|
||||
int ic;
|
||||
|
||||
ptr = getenv(name);
|
||||
if(ptr) {
|
||||
while ( *ptr ) *value++ = *ptr++ ;
|
||||
ptr = getenv( name );
|
||||
ic = 0;
|
||||
if( ptr ) {
|
||||
while ( *ptr && ic < (nchmax-1) ) { *value++ = *ptr++ ; ic++; }
|
||||
}
|
||||
*value = '\0';
|
||||
|
||||
}
|
||||
|
||||
int CP_GETENV(int *out_nruns,char infile[][256],
|
||||
char outfile[][256],char cdir[],char input_dir[])
|
||||
int CP_GETENV( /* WAITING FOR ARGUMENTS */ )
|
||||
{
|
||||
char runs[10][3];
|
||||
char value[256];
|
||||
char filename[256];
|
||||
char output_dir[256];
|
||||
int i,j,k;
|
||||
int nruns;
|
||||
char pwd[256];
|
||||
int nchmax = 256;
|
||||
|
||||
|
||||
cc_getenv("PWD",cdir);
|
||||
cc_getenv("CP_INPUT_DIR",input_dir);
|
||||
/* printf("%s\n",input_dir);*/
|
||||
cc_getenv("CP_OUTPUT_DIR",output_dir);
|
||||
/* printf("%s\n",output_dir);*/
|
||||
cc_getenv("CP_FILENAME",filename);
|
||||
/* printf("%s\n",filename); */
|
||||
cc_getenv("CP_RUNS",value);
|
||||
/* printf("%s\n",value); */
|
||||
|
||||
for(k=0,i=0; k<10 && value[i] ;k++) {
|
||||
for(j=0; j<2; j++, i++) runs[k][j] = value[i];
|
||||
runs[k][j] = '\0';
|
||||
i++;
|
||||
}
|
||||
nruns = k;
|
||||
|
||||
for(k=0;k<nruns;k++) {
|
||||
|
||||
printf("Run : %s\n",runs[k]);
|
||||
|
||||
strcpy(value,input_dir);
|
||||
strcat(value,"/");
|
||||
strcat(value,filename);
|
||||
strcat(value,".in.");
|
||||
strcat(value,runs[k]);
|
||||
|
||||
/* printf("input file : %s\n",value); */
|
||||
for(i=0; value[i]; i++) infile[k][i] = value[i];
|
||||
infile[k][i]=' ';
|
||||
|
||||
strcpy(value,output_dir);
|
||||
strcat(value,"/");
|
||||
strcat(value,filename);
|
||||
strcat(value,".out.");
|
||||
strcat(value,runs[k]);
|
||||
|
||||
/* printf("output file : %s\n",value); */
|
||||
for(i=0; value[i]; i++) outfile[k][i] = value[i];
|
||||
outfile[k][i]=' ';
|
||||
|
||||
|
||||
}
|
||||
|
||||
for(i=0; cdir[i] && i<255 ; i++) ;
|
||||
if(i>0) cdir[i++] = '/';
|
||||
cdir[i] = ' ';
|
||||
for(i=0; input_dir[i] && i<255 ; i++) ;
|
||||
if(i>0) input_dir[i++] = '/';
|
||||
input_dir[i] = ' ';
|
||||
|
||||
*out_nruns = nruns;
|
||||
use_c_getenv( "PWD", pwd, nchmax );
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
|
||||
#endif
|
||||
|
||||
#if defined __PORTLAND
|
||||
#if defined __PGI
|
||||
|
||||
# if defined __GNU_LINK
|
||||
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
|
||||
#if defined __CRAY
|
||||
|
||||
# define FPMD_MPI_COMPLEX MPI_COMPLEX
|
||||
# define FPMD_MPI_REAL MPI_REAL
|
||||
|
||||
# define FPMD_DGEMTX SGEMTX
|
||||
# define FPMD_DGEMX SGEMX
|
||||
# define FPMD_ZGEFA CGEFA
|
||||
# define FPMD_ZGEDI CGEDI
|
||||
# define FPMD_DGESUB SGESUB
|
||||
# define FPMD_DGER SGER
|
||||
# define FPMD_DGEMV SGEMV
|
||||
# define FPMD_ZGEMV CGEMV
|
||||
# define FPMD_DCOPY SCOPY
|
||||
# define FPMD_ZCOPY CCOPY
|
||||
# define FPMD_DGEMM SGEMM
|
||||
# define FPMD_ZGEMM CGEMM
|
||||
# define FPMD_DGEMUL SGEMUL
|
||||
# define FPMD_IDAMAX ISAMAX
|
||||
# define FPMD_ZSCAL CSCAL
|
||||
# define FPMD_DSCAL SSCAL
|
||||
# define FPMD_ZDSCAL CSSCAL
|
||||
# define FPMD_DSWAP SSWAP
|
||||
# define FPMD_ZSWAP CSWAP
|
||||
# define FPMD_DYAX SYAX
|
||||
# define FPMD_DNRM2 SNRM2
|
||||
# define FPMD_DAXPY SAXPY
|
||||
# define FPMD_ZAXPY CAXPY
|
||||
# define FPMD_ZDOTU CDOTU
|
||||
# define FPMD_ZDOTC CDOTC
|
||||
# define FPMD_DDOT SDOT
|
||||
# define FPMD_IZAMAX ICAMAX
|
||||
|
||||
#else
|
||||
|
||||
# define FPMD_MPI_COMPLEX MPI_DOUBLE_COMPLEX
|
||||
# define FPMD_MPI_REAL MPI_DOUBLE_PRECISION
|
||||
|
||||
# define FPMD_DGEMTX DGEMTX
|
||||
# define FPMD_DGEMX DGEMX
|
||||
# define FPMD_ZGEFA ZGEFA
|
||||
# define FPMD_ZGEDI ZGEDI
|
||||
# define FPMD_DGESUB DGESUB
|
||||
# define FPMD_DGER DGER
|
||||
# define FPMD_DGEMV DGEMV
|
||||
# define FPMD_ZGEMV ZGEMV
|
||||
# define FPMD_DCOPY DCOPY
|
||||
# define FPMD_ZCOPY ZCOPY
|
||||
# define FPMD_DGEMM DGEMM
|
||||
# define FPMD_ZGEMM ZGEMM
|
||||
# define FPMD_DGEMUL DGEMUL
|
||||
# define FPMD_IDAMAX IDAMAX
|
||||
# define FPMD_ZSCAL ZSCAL
|
||||
# define FPMD_DSCAL DSCAL
|
||||
# define FPMD_ZDSCAL ZDSCAL
|
||||
# define FPMD_DSWAP DSWAP
|
||||
# define FPMD_ZSWAP ZSWAP
|
||||
# define FPMD_DYAX DYAX
|
||||
# define FPMD_DNRM2 DNRM2
|
||||
# define FPMD_DAXPY DAXPY
|
||||
# define FPMD_ZAXPY ZAXPY
|
||||
# define FPMD_ZDOTU ZDOTU
|
||||
# define FPMD_ZDOTC ZDOTC
|
||||
# define FPMD_DDOT DDOT
|
||||
# define FPMD_IZAMAX IZAMAX
|
||||
|
||||
#endif
|
||||
|
|
@ -1,165 +1,219 @@
|
|||
|
||||
#if defined (__SX4) || defined (ORIGIN) || defined (T3D) || defined (FUJ64) || defined (HITACHI)
|
||||
#define FLUSH
|
||||
# define FLUSH
|
||||
#endif
|
||||
|
||||
#if defined(CRAYY) || defined(SGI) || defined(PC) || defined(AIX) || defined(T3D) ||defined(HITACHI) || defined(SUN)
|
||||
#define C_POINTER integer
|
||||
# define C_POINTER integer
|
||||
#endif
|
||||
|
||||
#if defined(ORIGIN) || defined (FUJ64)|| defined (DEC) || defined (__SX6)
|
||||
#define C_POINTER integer*8
|
||||
#endif
|
||||
#if defined(__SX4)
|
||||
#define C_POINTER real*8
|
||||
# define C_POINTER integer*8
|
||||
#endif
|
||||
|
||||
#if defined(__SX4)
|
||||
#define DIRECT_IO_FACTOR 1
|
||||
#else
|
||||
#if defined(DEC)
|
||||
#define DIRECT_IO_FACTOR 2
|
||||
#else
|
||||
#define DIRECT_IO_FACTOR 8
|
||||
# define C_POINTER real*8
|
||||
#endif
|
||||
|
||||
#if defined(__SX4)
|
||||
# define DIRECT_IO_FACTOR 1
|
||||
#elif defined(DEC)
|
||||
# define DIRECT_IO_FACTOR 2
|
||||
#else
|
||||
# define DIRECT_IO_FACTOR 8
|
||||
#endif
|
||||
|
||||
#if defined(CRAYY) || defined (__SX4) || defined (T3D)
|
||||
|
||||
#define DREAL real
|
||||
#define DIMAG aimag
|
||||
#define DCMPLX cmplx
|
||||
# define DREAL real
|
||||
# define DIMAG aimag
|
||||
# define DCMPLX cmplx
|
||||
|
||||
# define DAXPY saxpy
|
||||
# define DCOPY scopy
|
||||
# define DDOT sdot
|
||||
# define DGETRF sgetrf
|
||||
# define DGETRI sgetri
|
||||
# define DGEMV sgemv
|
||||
# define DGEMM sgemm
|
||||
# define DNRM2 snrm2
|
||||
# define DSCAL sscal
|
||||
# define DSYTRF ssytrf
|
||||
# define DSYTRI ssytri
|
||||
# define DSYGV ssygv
|
||||
# define DSYGVX ssygvx
|
||||
# define DSWAP sswap
|
||||
# define ILAENV ilaenv
|
||||
# define ZAXPY caxpy
|
||||
# define ZCOPY ccopy
|
||||
# define ZDOTC cdotc
|
||||
# define ZDOTU cdotu
|
||||
# define ZGEMM cgemm
|
||||
# define ZGEMV cgemv
|
||||
# define ZHEEV cheev
|
||||
# define ZHEGV chegv
|
||||
# define ZHEGVX chegvx
|
||||
# define ZHETRD CHETRD
|
||||
# define ZSCAL cscal
|
||||
|
||||
# define IZAMAX icamax
|
||||
# define DYAX syax
|
||||
# define ZSWAP cswap
|
||||
# define ZDSCAL csscal
|
||||
# define IDAMAX isamax
|
||||
# define DGEMUL sgemul
|
||||
# define DGESUB sgesub
|
||||
# define DGER sger
|
||||
# define ZGEFA cgefa
|
||||
# define ZGEDI cgedi
|
||||
# define DGEMTX sgemtx
|
||||
# define DGEMX sgemx
|
||||
|
||||
#define DAXPY saxpy
|
||||
#define DCOPY scopy
|
||||
#define DDOT sdot
|
||||
#define DGETRF sgetrf
|
||||
#define DGETRI sgetri
|
||||
#define DGEMV sgemv
|
||||
#define DGEMM sgemm
|
||||
#define DNRM2 snrm2
|
||||
#define DSCAL sscal
|
||||
#define DSYTRF ssytrf
|
||||
#define DSYTRI ssytri
|
||||
#define DSYGV ssygv
|
||||
#define DSYGVX ssygvx
|
||||
#define ILAENV ilaenv
|
||||
#define ZAXPY caxpy
|
||||
#define ZCOPY ccopy
|
||||
#define ZDOTC cdotc
|
||||
#define ZDOTU cdotu
|
||||
#define ZGEMM cgemm
|
||||
#define ZGEMV cgemv
|
||||
#define ZHEEV cheev
|
||||
#define ZHEGV chegv
|
||||
#define ZHEGVX chegvx
|
||||
#define ZHETRD CHETRD
|
||||
#define ZSCAL cscal
|
||||
|
||||
#else
|
||||
|
||||
#define DREAL dreal
|
||||
#define DCMPLX dcmplx
|
||||
#define DIMAG dimag
|
||||
# define DREAL dreal
|
||||
# define DCMPLX dcmplx
|
||||
# define DIMAG dimag
|
||||
|
||||
#if defined(ADD_BLAS_TWO_UNDERSCORES)
|
||||
# if defined(ADD_BLAS_TWO_UNDERSCORES)
|
||||
|
||||
#define DAXPY daxpy__
|
||||
#define DCOPY dcopy__
|
||||
#define DDOT ddot__
|
||||
#define DGETRF dgetrf__
|
||||
#define DGETRI dgetri__
|
||||
#define DGEMV dgemv__
|
||||
#define DGEMM dgemm__
|
||||
#define DNRM2 dnrm2__
|
||||
#define DSCAL dscal__
|
||||
#define DSYTRF dsytrf__
|
||||
#define DSYTRI dsytri__
|
||||
#define DSYGV dsygv__
|
||||
#define DSYGVX dsygvx__
|
||||
#define ILAENV ilaenv__
|
||||
#define ZAXPY zaxpy__
|
||||
#define ZCOPY zcopy__
|
||||
#define ZDOTC zdotc__
|
||||
#define ZDOTU zdotu__
|
||||
#define ZGEMM zgemm__
|
||||
#define ZGEMV zgemv__
|
||||
#define ZHEEV zheev__
|
||||
#define ZHEGV zhegv__
|
||||
#define ZHEGVX zhegvx__
|
||||
#define ZSCAL zscal__
|
||||
# define DAXPY daxpy__
|
||||
# define DCOPY dcopy__
|
||||
# define DDOT ddot__
|
||||
# define DGETRF dgetrf__
|
||||
# define DGETRI dgetri__
|
||||
# define DGEMV dgemv__
|
||||
# define DGEMM dgemm__
|
||||
# define DNRM2 dnrm2__
|
||||
# define DSCAL dscal__
|
||||
# define DSYTRF dsytrf__
|
||||
# define DSYTRI dsytri__
|
||||
# define DSYGV dsygv__
|
||||
# define DSYGVX dsygvx__
|
||||
# define DSWAP dswap__
|
||||
# define ILAENV ilaenv__
|
||||
# define ZAXPY zaxpy__
|
||||
# define ZCOPY zcopy__
|
||||
# define ZDOTC zdotc__
|
||||
# define ZDOTU zdotu__
|
||||
# define ZGEMM zgemm__
|
||||
# define ZGEMV zgemv__
|
||||
# define ZHEEV zheev__
|
||||
# define ZHEGV zhegv__
|
||||
# define ZHEGVX zhegvx__
|
||||
# define ZSCAL zscal__
|
||||
|
||||
#else
|
||||
#if defined(ADD_BLAS_ONE_UNDERSCORE)
|
||||
# define IZAMAX izamax__
|
||||
# define DYAX dyax__
|
||||
# define ZSWAP zswap__
|
||||
# define ZDSCAL zdscal__
|
||||
# define IDAMAX idamax__
|
||||
# define DGEMUL dgemul__
|
||||
# define DGESUB dgesub__
|
||||
# define DGER dger__
|
||||
# define ZGEFA zgefa__
|
||||
# define ZGEDI zgedi__
|
||||
# define DGEMTX dgemtx__
|
||||
# define DGEMX dgemx__
|
||||
|
||||
#define DAXPY daxpy_
|
||||
#define DCOPY dcopy_
|
||||
#define DDOT ddot_
|
||||
#define DGETRF dgetrf_
|
||||
#define DGETRI dgetri_
|
||||
#define DGEMV dgemv_
|
||||
#define DGEMM dgemm_
|
||||
#define DNRM2 dnrm2_
|
||||
#define DSCAL dscal_
|
||||
#define DSYTRF dsytrf_
|
||||
#define DSYTRI dsytri_
|
||||
#define DSYGV dsygv_
|
||||
#define DSYGVX dsygvx_
|
||||
#define ILAENV ilaenv_
|
||||
#define ZAXPY zaxpy_
|
||||
#define ZCOPY zcopy_
|
||||
#define ZDOTC zdotc_
|
||||
#define ZDOTU zdotu_
|
||||
#define ZGEMM zgemm_
|
||||
#define ZGEMV zgemv_
|
||||
#define ZHEEV zheev_
|
||||
#define ZHEGV zhegv_
|
||||
#define ZHEGVX zhegvx_
|
||||
#define ZSCAL zscal_
|
||||
# elif defined(ADD_BLAS_ONE_UNDERSCORE)
|
||||
|
||||
#else
|
||||
# define DAXPY daxpy_
|
||||
# define DCOPY dcopy_
|
||||
# define DDOT ddot_
|
||||
# define DGETRF dgetrf_
|
||||
# define DGETRI dgetri_
|
||||
# define DGEMV dgemv_
|
||||
# define DGEMM dgemm_
|
||||
# define DNRM2 dnrm2_
|
||||
# define DSCAL dscal_
|
||||
# define DSYTRF dsytrf_
|
||||
# define DSYTRI dsytri_
|
||||
# define DSYGV dsygv_
|
||||
# define DSYGVX dsygvx_
|
||||
# define DSWAP dswap_
|
||||
# define ILAENV ilaenv_
|
||||
# define ZAXPY zaxpy_
|
||||
# define ZCOPY zcopy_
|
||||
# define ZDOTC zdotc_
|
||||
# define ZDOTU zdotu_
|
||||
# define ZGEMM zgemm_
|
||||
# define ZGEMV zgemv_
|
||||
# define ZHEEV zheev_
|
||||
# define ZHEGV zhegv_
|
||||
# define ZHEGVX zhegvx_
|
||||
# define ZSCAL zscal_
|
||||
|
||||
#define DAXPY daxpy
|
||||
#define DCOPY dcopy
|
||||
#define DDOT ddot
|
||||
#define DGETRF dgetrf
|
||||
#define DGETRI dgetri
|
||||
#define DGEMV dgemv
|
||||
#define DGEMM dgemm
|
||||
#define DNRM2 dnrm2
|
||||
#define DSCAL dscal
|
||||
#define DSYTRF dsytrf
|
||||
#define DSYTRI dsytri
|
||||
#define DSYGV dsygv
|
||||
#define DSYGVX dsygvx
|
||||
#define ILAENV ilaenv
|
||||
#define ZAXPY zaxpy
|
||||
#define ZCOPY zcopy
|
||||
#define ZDOTC zdotc
|
||||
#define ZDOTU zdotu
|
||||
#define ZGEMM zgemm
|
||||
#define ZGEMV zgemv
|
||||
#define ZHEEV zheev
|
||||
#define ZHEGV zhegv
|
||||
#define ZHEGVX zhegvx
|
||||
#define ZSCAL zscal
|
||||
# define IZAMAX izamax_
|
||||
# define DYAX dyax_
|
||||
# define ZSWAP zswap_
|
||||
# define ZDSCAL zdscal_
|
||||
# define IDAMAX idamax_
|
||||
# define DGEMUL dgemul_
|
||||
# define DGESUB dgesub_
|
||||
# define DGER dger_
|
||||
# define ZGEFA zgefa_
|
||||
# define ZGEDI zgedi_
|
||||
# define DGEMTX dgemtx_
|
||||
# define DGEMX dgemx_
|
||||
|
||||
#endif
|
||||
# else
|
||||
|
||||
#endif
|
||||
# define DAXPY daxpy
|
||||
# define DCOPY dcopy
|
||||
# define DDOT ddot
|
||||
# define DGETRF dgetrf
|
||||
# define DGETRI dgetri
|
||||
# define DGEMV dgemv
|
||||
# define DGEMM dgemm
|
||||
# define DNRM2 dnrm2
|
||||
# define DSCAL dscal
|
||||
# define DSYTRF dsytrf
|
||||
# define DSYTRI dsytri
|
||||
# define DSYGV dsygv
|
||||
# define DSYGVX dsygvx
|
||||
# define DSWAP dswap
|
||||
# define ILAENV ilaenv
|
||||
# define ZAXPY zaxpy
|
||||
# define ZCOPY zcopy
|
||||
# define ZDOTC zdotc
|
||||
# define ZDOTU zdotu
|
||||
# define ZGEMM zgemm
|
||||
# define ZGEMV zgemv
|
||||
# define ZHEEV zheev
|
||||
# define ZHEGV zhegv
|
||||
# define ZHEGVX zhegvx
|
||||
# define ZSCAL zscal
|
||||
|
||||
#define ZHETRD ZHETRD
|
||||
# define IZAMAX izamax
|
||||
# define DYAX dyax
|
||||
# define ZSWAP zswap
|
||||
# define ZDSCAL zdscal
|
||||
# define IDAMAX idamax
|
||||
# define DGEMUL dgemul
|
||||
# define DGESUB dgesub
|
||||
# define DGER dger
|
||||
# define ZGEFA zgefa
|
||||
# define ZGEDI zgedi
|
||||
# define DGEMTX dgemtx
|
||||
# define DGEMX dgemx
|
||||
|
||||
# endif
|
||||
|
||||
# define ZHETRD ZHETRD
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(ABSOFT)
|
||||
#define getenv getenv_
|
||||
#define getarg getarg_
|
||||
#define iargc iargc_
|
||||
# define getenv getenv_
|
||||
# define getarg getarg_
|
||||
# define iargc iargc_
|
||||
#endif
|
||||
|
||||
#if defined(T3D_BENCHLIB)
|
||||
#define DCOPY scopy_t3e
|
||||
#define DGEMM s_gemm
|
||||
#define ZGEMM c_gemm
|
||||
# define DCOPY scopy_t3e
|
||||
# define DGEMM s_gemm
|
||||
# define ZGEMM c_gemm
|
||||
#endif
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# --- Change Variables according to your system --- #
|
||||
|
||||
# ** Preprocessor Macro **
|
||||
CPMACRO=-D__AIX,-D__LIBMASS,-D__ESSL,-DSWAP=dswap,-DAXPY=daxpy,-DSCAL=dscal,-DCOPY=dcopy,-DGEMM=dgemm
|
||||
CPMACRO=-D__AIX,-D__LIBMASS,-D__ESSL
|
||||
#
|
||||
# Uncomment to Use IBM mass
|
||||
MASS= -L /cineca/lib/mass -lmassv -lmass
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
CPUTYPE=ev67
|
||||
|
||||
# ** Preprocessor Macro **
|
||||
CPMACRO=-D__QSW -D__MPI -D__PARA -D__FFTW -DSWAP=dswap -DAXPY=daxpy -DSCAL=dscal -DCOPY=dcopy -DGEMM=dgemm -D__TRU64
|
||||
CPMACRO=-D__QSW -D__MPI -D__PARA -D__FFTW -D__TRU64
|
||||
|
||||
#
|
||||
# ** Scientific Libraries **
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
CPUTYPE=ev67
|
||||
|
||||
# ** Preprocessor Macro **
|
||||
CPMACRO=-D__QSW -D__MPI -D__PARA -D__FFTW -DSWAP=dswap -DAXPY=daxpy -DSCAL=dscal -DCOPY=dcopy -DGEMM=dgemm -D__TRU64
|
||||
CPMACRO=-D__QSW -D__MPI -D__PARA -D__FFTW -D__TRU64
|
||||
#
|
||||
# ** Communication Libraries **
|
||||
MPIINCLUDE= -I/usr/include
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
# Add -D__LIBMASS to use IBM mass
|
||||
# Add -D__FFTW to use fftw
|
||||
CPMACRO=-D__AIX,-D__MPI,-D__PARA,-D__LIBMASS,-D__ESSL,-DSWAP=dswap,-DAXPY=daxpy,-DSCAL=dscal,-DCOPY=dcopy,-DGEMM=dgemm
|
||||
CPMACRO=-D__AIX,-D__MPI,-D__PARA,-D__LIBMASS,-D__ESSL
|
||||
|
||||
|
||||
# ** Uncomment to Use IBM mass **
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
# --- Change Variables according to your system --- #
|
||||
|
||||
# ** Preprocessor Macro **
|
||||
CPMACRO=-D__SGI -D__ORIGIN -D__FFTW -DSWAP=dswap -DAXPY=daxpy -DSCAL=dscal -DCOPY=dcopy -DGEMM=dgemm
|
||||
CPMACRO=-D__SGI -D__ORIGIN -D__FFTW
|
||||
#
|
||||
# ** Scientific Libraries **
|
||||
# Uncomment to Use system library
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# Serial Code
|
||||
# undefine __PARA __MPI
|
||||
# Parallel MPI
|
||||
CPMACRO=-D__PGI -D__PARA -D__MPI -D__LINUX -D__PORTLAND -D__FFTW -DSWAP=dswap -DAXPY=daxpy -DSCAL=dscal -DCOPY=dcopy -DGEMM=dgemm
|
||||
CPMACRO=-D__PGI -D__PARA -D__MPI -D__LINUX -D__FFTW
|
||||
#
|
||||
# ** Communication Libraries **
|
||||
MPICH = /usr/local/mpich/current/
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
# ** Preprocessor Macro **
|
||||
# Parallel MPI
|
||||
CPMACRO=-D__LINUX -D__MPI -D__PARA -D__INTEL -D__FFTW \
|
||||
-DSWAP=dswap -DAXPY=daxpy -DSCAL=dscal -DCOPY=dcopy -DGEMM=dgemm \
|
||||
-D"fftwnd_f77_one=fftwnd_f77_one_" \
|
||||
-D"fftw3d_f77_create_plan=fftw3d_f77_create_plan_" \
|
||||
-D"fftw_f77=fftw_f77_" \
|
||||
|
@ -19,7 +18,6 @@
|
|||
#
|
||||
# Serial Code
|
||||
CPMACRO=-D__LINUX -D__INTEL -D__FFTW \
|
||||
-DSWAP=dswap -DAXPY=daxpy -DSCAL=dscal -DCOPY=dcopy -DGEMM=dgemm \
|
||||
-D"fftwnd_f77_one=fftwnd_f77_one_" \
|
||||
-D"fftw3d_f77_create_plan=fftw3d_f77_create_plan_" \
|
||||
-D"fftw_f77=fftw_f77_" \
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# --- Change Variables according to your system --- #
|
||||
|
||||
# ** Preprocessor Macro **
|
||||
CPMACRO=-D__SGI -D__ORIGIN -D__MPI -D__PARA -D__FFTW -DSWAP=dswap -DAXPY=daxpy -DSCAL=dscal -DCOPY=dcopy -DGEMM=dgemm
|
||||
CPMACRO=-D__SGI -D__ORIGIN -D__MPI -D__PARA -D__FFTW
|
||||
|
||||
CPUTYPE=-r14000
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
# --- Change Variables according to your system --- #
|
||||
|
||||
# Macro
|
||||
CPMACRO=-D__MPI -D__PARA -D__FFTW -DSWAP=dswap -DAXPY=daxpy -DSCAL=dscal -DCOPY=dcopy -DGEMM=dgemm
|
||||
CPMACRO=-D__MPI -D__PARA -D__FFTW
|
||||
# CPMACRO=-D__QSW
|
||||
#
|
||||
CPUTYPE=ev67
|
||||
|
|
|
@ -8,8 +8,7 @@
|
|||
# --- Change Variables according to your system --- #
|
||||
|
||||
# ** Preprocessor Macro **
|
||||
CPMACRO=-D__SX4 \
|
||||
-DSWAP=sswap -DAXPY=saxpy -DSCAL=sscal -DCOPY=scopy -DGEMM=sgemm
|
||||
CPMACRO=-D__SX4
|
||||
#
|
||||
######################################################################
|
||||
# *** Usually you don't need to edit variables below this line **** #
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
# Uncomment to use benchlib
|
||||
# BENCHLIB= -L /a/acv0/bnchlib/ -l _scalar -l _vect -l _ereg
|
||||
#
|
||||
CPMACRO=-D__CRAY -D__PARA -D__MPI -DSWAP=dswap,-DAXPY=daxpy,-DSCAL=dscal,-DCOPY=dcopy,-DGEMM=dgemm
|
||||
CPMACRO=-D__CRAY -D__PARA -D__MPI
|
||||
BENCHLIB=
|
||||
#
|
||||
######################################################################
|
||||
|
|
Loading…
Reference in New Issue