CP2K in IBM PWR5 machinces

Axel akoh... at gmail.com
Tue Mar 18 19:04:16 UTC 2008



On Mar 18, 1:09 pm, "LIANG Yunfeng" <liangy... at gmail.com> wrote:
> Dear Axel,
>
> Thank you very much. The system I am using is AIX 5.3. But I will try to
> look at whether your input file and the old Linux-ppc5-xlf.sopt  are  fine
> in my case...

ok. my bad. i looked through the thread and see that i
mixed up teo's machine (which is linux) with yours.

the compiler should be essentially the same, so the flags
should work as well. with cp2k having no c code for system
dependent components there is actually little that depends
on the OS itself, but system dependent features will be almost
exclusively depend on the compiler and its runtime library.

cheers,
   axel.

>
> Below  is a brief description:
>
> Operating system:
> AIX 5.3
>
> Compilers:
>
> IBM compilers: xlc, xlC (version 8.0)
> xlf, f77, xlf90, f90, xlf95, f95 (version 10.1)
>
> a full description is at the website:
>
> http://www.westgrid.ca/resources_services/compute_facilities/cortex
>
> Thank you again
>
> Sincerely, Yunfeng
>
> On Tue, Mar 18, 2008 at 10:26 AM, Axel <akoh... at gmail.com> wrote:
>
> > dear yunfeng,
>
> > i finally found a power5 machine running linux
> > instead of AIX and managed to get a working
> > serial executable. here the individual steps:
>
> > download of lapack-lite-3.1.1.tar.gz from netlib
> > and unpack into the cp2k directory.
> > cd lapack-lite-3.1.1; cp INSTALL/make.inc.RS6K make.inc
> > edit make.inc to get:
>
> > FORTRAN = xlf -q64
> > OPTS    = -O2 -qstrict -q64 -qarch=pwr5 -qcache=auto -qmaxmem=-1 -
> > qtune=pwr5
> > DRVOPTS = $(OPTS)
> > NOOPT   =  -O0 -qarch=pwr5 -qmaxmem=-1 -qtune=pwr5
> > LOADER  = xlf -q64
>
> > make lib
>
> > then i modified the matching arch file as follows (i'll send the
> > whole file to teo later for updating the CVS so you only have
> > to 'cvs update' to get it.):
>
> > akohlmey/cp2k> cvs diff -u arch/Linux-ppc5-xlf.sopt
> > Index: arch/Linux-ppc5-xlf.sopt
> > ===================================================================
> > RCS file: /cvsroot/cp2k/cp2k/arch/Linux-ppc5-xlf.sopt,v
> > retrieving revision 1.2
> > diff -u -r1.2 Linux-ppc5-xlf.sopt
> > --- arch/Linux-ppc5-xlf.sopt    25 Oct 2007 08:42:00 -0000      1.2
> > +++ arch/Linux-ppc5-xlf.sopt    18 Mar 2008 16:18:56 -0000
> > @@ -1,13 +1,46 @@
> >  CC       = gcc
> > -CPP      = cpp
> > -FC       = xlf95_r -qsuffix=f=f90
> > +CPP      =
> > +FC       = xlf95_r -qsuffix=f=F
> >  LD       = xlf95_r
> >  AR       = ar -r
> > -DFLAGS   = -D__AIX -D__ESSL -D__FFTSG -D__FFTESSL
> > +DFLAGS   = -WF,-D__AIX,-D__ESSL,-D__FFTSG,-D__FFTESSL
> >  CPPFLAGS = -C $(DFLAGS) -P -traditional
> > -FCFLAGS  = -O3 -qstrict -q64 -qarch=pwr5 -qcache=auto -qmaxmem=-1 -
> > qtune=pwr5
> > +FCFLAGS  = -O2 -qstrict -q64 -qarch=pwr5 -qcache=auto -qmaxmem=-1 -
> > qtune=pwr5 $(DFLAGS)
> > +FCFLAGS2 = -O0 -qstrict -q64 -qarch=pwr5 -qcache=auto -qmaxmem=-1 -
> > qtune=pwr5 $(DFLAGS)
> >  LDFLAGS  = $(FCFLAGS) -L/apps/lapack-3/64/lib
>
> > -LIBS     = -llapack_ppc64 -lessl /opt/ibmcmp/xlmass/4.3/lib64/
> > libmass_64.a
> > +LIBS     =  $(HOME)/cp2k/lapack-lite-3.1.1/lapack_RS6K.a -lessl
> > +CPPSHELL = -WF,-D__COMPILE_ARCH="\"$(ARCH)\"",-D__COMPILE_DATE="\"$
> > (shell date)\"",-D__COMPILE_HOST="\"$(shell hostname)\"",-
> > D__COMPILE_LASTCVS="\"$(shell tail -n1 $(SRCDIR)/CVS/Entries)\""
>
> >  OBJECTS_ARCHITECTURE = machine_aix.o
> > +
> > +### To speed up compilation time ###
> > +cp2k_runs.o: cp2k_runs.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +f77_interface.o: f77_interface.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +
> > +md_run.o: md_run.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +
> > +geo_opt.o: geo_opt.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +cp_lbfgs_optimizer_gopt.o: cp_lbfgs_optimizer_gopt.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +
> > +qmmm_init.o: qmmm_init.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +
> > +mc_ensembles.o: mc_ensembles.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +mc_types.o: mc_types.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +mc_moves.o: mc_moves.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +
> > +pint_types.o: pint_types.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +
> > +nddo_methods.o: nddo_methods.F
> > +       $(FC) -c $(FCFLAGS2) $<
> > +
>
> > compilation went fine and the resulting executable
> > works nicely after raising the stack size limit via
> > ulimit -s unlimited  (in tcsh you need: limit statcksize unlimited).
>
> > the machine has no MPI (well, it has but that is for compiling
> > BG/L executables), but i'll try to get a parallel executable
> > by compiling openmpi for myself (it is a nice and underutilized
> > 4cpu node with 16GB memory....).
>
> > hope this helps, more later...
>
> > axel.


More information about the CP2K-user mailing list