Commit 2ed33696 by Francois Gygi

rel1_28_1


git-svn-id: http://qboxcode.org/svn/qb/trunk@448 cba15fb0-1239-40c8-b417-11db7ca47a34
parent 7c3f3177
......@@ -3,17 +3,19 @@
# mcr.mk
#
#-------------------------------------------------------------------------------
# $Id: mcr.mk,v 1.10 2005-03-17 17:28:34 fgygi Exp $
# $Id: mcr.mk,v 1.11 2006-06-03 22:18:02 fgygi Exp $
#
PLT=LINUX
#-------------------------------------------------------------------------------
GCCDIR=/usr/local/tools/gnu/gcc/3.3.3_chaos_2_ia32/lib
#GCCDIR=/usr/local/tools/gnu/gcc/3.4.4_chaos_3_x86_elan3/lib
#GCCDIR=/usr/lib/gcc/i386-redhat-linux/3.4.4/libg2c.a
G2CLIB=-L /usr/local/tools/gnu/gcc/3.4.4_RH_chaos_3_x86/usr/lib -lg2c
MPIDIR=/usr/lib/mpi
XERCESCDIR=$(HOME)/software/xml/ia32/xerces-c-src2_2_0
XERCESCLIBDIR=/usr/apps/qbox/lib
XERCESCDIR=$(HOME)/software/xml/ia32/chaos_3_x86_elan3/xerces-c-src_2_5_0
XERCESCLIBDIR=$(XERCESCDIR)/lib
PLTOBJECTS = readTSC.o
CXX=icc
CXX=icpc
LD=$(CXX)
PLTFLAGS += -DIA32 -DUSE_FFTW -DUSE_CSTDIO_LFS -D_LARGEFILE_SOURCE \
......@@ -31,13 +33,12 @@
#CXXFLAGS= -g -D$(PLT) $(INCLUDE) $(PLTFLAGS) $(DFLAGS)
CXXFLAGS= -O3 -xW -Zp16 -D$(PLT) $(INCLUDE) $(PLTFLAGS) $(DFLAGS)
LIBPATH = -L$(GCCDIR)/lib -L$(FFTWDIR)/.libs -L/usr/X11R6/lib \
-L$(MPIDIR)/lib -L$(BLASDIR) \
-L$(XERCESCLIBDIR)
LIBPATH = -L$(FFTWDIR)/.libs -L/usr/X11R6/lib \
-L$(BLASDIR) -L$(XERCESCLIBDIR) -L$(MPIDIR)/lib
LIBS = $(PLIBS) $(GCCDIR)/libg2c.a -lfftw \
LIBS = $(PLIBS) $(G2CLIB) -lfftw \
-lmkl_p4 -lmkl_lapack -lm -lmpi -lpmpi \
-openmp $(XERCESCDIR)/lib/libxerces-c.a
-openmp $(XERCESCDIR)/lib/libxerces-c.a
LDFLAGS = $(LIBPATH) $(LIBS)
......
......@@ -14,6 +14,23 @@ Include current energy e0 in arguments of IonicStepper::compute_rp, in
addition to forces f0. Use e0 to backtrack when energy rises in the SDA alg.
--------------------------------------------------------------------------------
Bug in scalapack pdgetri.f (inverse of square matrix)
Added bug fix from J.Langou into local modified copy of pdgetri.f
Must link to local pdgetri.o before the scalapack lib
--------------------------------------------------------------------------------
rel1_28_2
AtomSet.h: initialize nel_ in ctor.
XMLGFPreprocessor.C: use char buffer to read file.
Include timers in SlaterDet::ortho_align with #if TIMING
qb.C: remove <> brackets in processor names for XML compatibility (BGL)
AtomSetHandler.C, SpeciesHandler.C: removed msg about xlink, replaced with href
Species.C, SaveCmd.C: removed xlink namespace declaration in sample
SlaterDet.C: added #if TIMING and timers in ortho_align
MDIonicStepper.h: corrected comments
--------------------------------------------------------------------------------
rel1_28_1e{1234567} experimental versions containing
various modifications leading to rel1_28_2
--------------------------------------------------------------------------------
rel1_28_0
qb.C, SaveCmd.C, qbox_xmlns.C, xmlSpecies.C: change namespace to fpmd
--------------------------------------------------------------------------------
......
// $Id: testMatrix.C,v 1.11 2005-03-17 17:18:55 fgygi Exp $
// $Id: testMatrix.C,v 1.12 2006-06-03 22:18:02 fgygi Exp $
//
// test Matrix
//
......@@ -279,6 +279,35 @@ int main(int argc, char **argv)
if (mype == 0) cout << "Norm(a)=" << norm << endl;
#endif
#if 1
// Inverse of c if c is square
if ( c.m() == c.n() && c.mb() == c.nb() )
{
for ( int m = 0; m < c.nblocks(); m++ )
for ( int l = 0; l < c.mblocks(); l++ )
for ( int y = 0; y < c.nbs(m); y++ )
for ( int x = 0; x < c.mbs(l); x++ )
{
int i = c.i(l,x);
int j = c.j(m,y);
int iii = x + l*c.mb();
int jjj = y + m*c.nb();
int ival = iii + jjj * c.mloc();
if ( i == j )
c[ival] = i + 1.e-5*drand48();
else
c[ival] = 1.e-5*drand48();
}
tm.reset();
tm.start();
if (mype == 0) cout << "Inverse ... ";
c.inverse();
if (mype == 0) cout << " done" << endl;
tm.stop();
if (mype == 0) cout << "Inverse time: " << tm.real() << endl;
}
#endif
// Eigenvalues and eigenvectors of c if c is square
if ( c.m() == c.n() && c.mb() == c.nb() )
{
......@@ -302,7 +331,7 @@ int main(int argc, char **argv)
if (mype == 0) cout << "Eigenproblem... ";
DoubleMatrix z(c.context(),c.n(),c.n(),c.nb(),c.nb());
valarray<double> w(c.m());
c.syev('l',w,z);
c.syevd('l',w,z);
//c.syevx('l',w,z,1.e-5);
if (mype == 0) cout << " done" << endl;
tm.stop();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment