cp2k.popt and g95

Luca bellu... at unisi.it
Tue May 13 09:25:22 UTC 2008


Hi all,
after having had some problems with the intel fortran compiler, I decided to compile cp2k with g95.  
I found some  difficulties to compile the parallel version of cp2k with g95.  
I wrote some notes for myself and I posted them in the group mailing list.  
This is what you need:

Stable version 0.91, March 2008 g95 compiler:  http://www.g95.org/
mpich2-1.0.7 :       http://www.mcs.anl.gov/research/projects/mpich2/
Lapack   version 3.1.1 :       http://www.netlib.org/lapack/
scalapack version 1.8.0 :    http://www.netlib.org/scalapack/
mpiblacs and mpiblacs-patch03 :  http://www.netlib.org/blacs/

Follow a brief howto. 
1-Install G95.
2-MPICH2:
in /usr/local/mpich2-1.0.7
set F90 an F77 environment variables. 
>From bash shell:
 # su root
 #  F77='g95 -ffixed-form -fno-second-underscore'
 #  F90='g95 -ffree-form -fno-second-underscore'
 #  export F90 F77
check with:
 # echo $F77 $F90
Configure MPI for your system  
For SMP system with shared memory (i.e. dual or quad core) you can use:
 #./configure --with-device=ch3:shm 
 # make 
 # make install

3-BLAS LAPACK
in /usr/local/lapack-3.1.1
Edit make.inc like this:
.....
PLAT = _G95
FORTRAN  = g95 
OPTS     = -O2                   # -O3 optimization does not work
DRVOPTS  = $(OPTS)
NOOPT    = -ffloat-store   #  It is necessary
LOADER   = g95
......
# make blaslib
# make lapacklib

4-BLACS
mpiblacs.tgz and mpiblacs-patch03.tgz   PATCH!!!
Edit and modify Bmake.inc in  /usr/local/....yourpath../BLACS
Set the top level BLACS directory.
 ......
 INTFACE = -DAdd_
 TRANSCOMM = -DCSameF77 -DPOINTER_64_BITS=1 -DUseMpi2
 .......
   F77            = g95
   F77NO_OPTFLAGS = -fno-second-underscore
   F77FLAGS       = $(F77NO_OPTFLAGS) -O2 
   F77LOADER      = $(F77)
cd ....../BLACS/SRC/MPI and make
# make

5-SCALAPACK
Edit and modify SLmake.in in /usr/local/...yourpath../sclapack-1.8.0
Set the top level directory and path for blacs library.
............
 F77           = g95 
 CC            = gcc
 NOOPT         =  -fno-second-underscore
 F77FLAGS      = $(NOOPT) -O2 
 CCFLAGS       = -O2 
 SRCFLAG       =
 F77LOADER     = $(F77)
 CCLOADER      = $(CC)
 F77LOADFLAGS  = -i-static
 CCLOADFLAGS   =
 CDEFS         =-DAdd_  $(USEMPI)
........
In ./sclapack-1.8.0 compile library with 
# make 

In attach there are makefile for cp2k, Bmake.inc for the BLACS library and SLmake.inc 
for the scalapack library. Please pay attention, all paths directory are for my system....
Any suggestions or improvements are well accepted.
...thanks Fabiana for reviews :-)
Luca



More information about the CP2K-user mailing list