Differences between revisions 32 and 33
Revision 32 as of 2006-10-12 15:39:43
Size: 11451
Comment:
Revision 33 as of 2006-10-13 15:52:44
Size: 12888
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
------------
Line 10: Line 9:
------------

1) CamposASE2 is required,
  http://www.fysik.dtu.dk/campos/ASE

------------
============

1) **CamposASE2** is required, see https://wiki.fysik.dtu.dk/ase
Line 17: Line 14:
------------ ============
Line 27: Line 24:
dacapo fortran program and pseudopotentials Dacapo fortran program and pseudopotentials
Line 30: Line 27:
This section describes how the fortran program and
pseudopotential are installed.
Current version of the fortran program is 2.7.7.
This section describes how the fortran program and pseudopotential are installed.
The current version of the fortran program is 2.7.7.
Line 35: Line 31:
```````` --------
Line 46: Line 42:
```````````` ------------
Line 53: Line 49:

```````````````````````````````````````
Line 56: Line 50:
```````````````````````````````````````

The page `dacapo binaries`_ list dacapo binaries for
different platforms.
---------------------------------------

The page `dacapo binaries`_ list dacapo binaries for different platforms.
Line 63: Line 56:

````````````````````````````````
Line 66: Line 57:
```````````````````````````````` --------------------------------
Line 102: Line 93:
```````````````````````````````
Line 104: Line 95:
``````````````````````````````` -------------------------------
Line 150: Line 141:

----------
Line 153: Line 142:
---------- ==========
Line 173: Line 162:
-------------------------- ==========================
Line 175: Line 164:
-------------------------- ==========================
Line 199: Line 188:
-------------------------------------------- OpenMPI
=======

For dacapo to run together with ASE_ you need a `dacapo.run` script in your path, that will
start the correct dacapo executable. This `OpenMPI dacapo.run`_ script assumes you are running OpenMPI
using the PBS batch system.

.. _OpenMPI dacapo.run: http://www.camp.dtu.dk/campos/download/dacapo_openmpi.run

You might have to edit the location and names of the serial and parallel executable in this script,
i.e the lines::

    # Name of serial and parallel DACAPO executables
    DACAPOEXE="dacapo_2.7.7.run"
    DACAPOEXE_PAR="dacapo_2.7.7_mpi.run"

If OpenMPI is not installed under `/usr` you will also have to change this in the script.
    
Copy this script to `/usr/local/bin/dacapo.run`.

============================================
Line 201: Line 210:
--------------------------------------------

Opteron (pathscale compiler)
-----------------------------
============================================

Opteron (Pathscale EKOpath compiler)
====================================
Line 207: Line 216:
`Pathscale Fortran compiler <http://www.pathscale.com/ekopath.html>`_, `Pathscale EKOpath Fortran compiler <http://www.pathscale.com/ekopath.html>`_,
Line 209: Line 218:
`ACML library <http://developer.amd.com/acml.aspx>`_ installed.
Below follows details on how to build the NetCDF and FFTW libraries needed by dacapo.
`ACML Math library <http://developer.amd.com/acml.aspx>`_ installed.
Below follows details on how to build the NetCDF and FFTW libraries needed byDdacapo.
Line 213: Line 222:
``````````````````````````````````` -----------------------------------
Line 232: Line 241:
````````````````````````````````````` -------------------------------------
Line 249: Line 258:
dacapo
``````
Dacapo
------
Line 287: Line 296:
OpenMPI
-------

For dacapo to run together with ASE_ you need a `dacapo.run` script in your path, that will
start the correct dacapo executable. This `OpenMPI dacapo.run`_ script assumes you are running OpenMPI
using the PBS batch system.

.. _OpenMPI dacapo.run: http://www.camp.dtu.dk/campos/download/dacapo_openmpi.run

You might have to edit the location and names of the serial and parallel executable in this script,
i.e the lines::

    # Name of serial and parallel DACAPO executables
    DACAPOEXE="dacapo_2.7.7.run"
    DACAPOEXE_PAR="dacapo_2.7.7_mpi.run"

If OpenMPI is not installed under `/usr` you will also have to change this in the script.
    
Copy this script to `/usr/local/bin/dacapo.run`.

Line 309: Line 297:
----------------------------- =============================
Line 316: Line 304:
`````````` ----------
Line 328: Line 316:
``````````````````````````````````` -----------------------------------
Line 346: Line 334:
````````````````````````````````````` -------------------------------------
Line 368: Line 356:
``````` -------
Line 385: Line 373:
`````` ------
Line 399: Line 388:

Intel compiler
==============

The Intel Fortran and C/C++ compilers are installed on the Intel Pentium-4 login nodes *thul*.
The Intel MKL library contains highly optimized BLAS subroutines, among many other things.

The `Intel Fortran <http://developer.intel.com/software/products/compilers/flin/index.htm>`_
and `Intel C++ <http://developer.intel.com/software/products/compilers/clin/index.htm>`_
Compiler version 9.1.

Manuals in PDF format are in the
`Intel Fortran guide <http://developer.intel.com/software/products/compilers/techtopics/for_ug_lnx.pdf>`_
and the `Intel C++ guide <http://developer.intel.com/software/products/compilers/techtopics/c_ug_lnx.pdf>`_.

Intel Math Kernel Library (MKL)
-------------------------------

The `Intel Math Kernel Library <http://developer.intel.com/software/products/mkl/>`_ (MKL) Version 8.1
with `MKL Manuals <http://developer.intel.com/software/products/mkl/docs/manuals.htm>`_.
A `MKL User Forum <http://softwareforums.intel.com/ids/board?board.id=MKL>`_
for the Intel Math Kernel Library is available.

NetCDF (Network common Data Format)
-----------------------------------

Download the `NetCDF sofware <http://www.unidata.ucar.edu/downloads/netcdf/netcdf-3_6_1/index.jsp>`_

Build netcdf like this::

   tar -zxf netcdf-3.6.1.tar.gz
   cd netcdf-3.6.1/src
   ./configure --prefix=/usr/local FC=ifort FCFLAGS='-byteswapio -Msecond_underscore' CC=icc CXX=icpc CPPFLAGS='-DNDEBUG -Df2cFortran'
   make

and then install in ``/usr`` running as root::

   make install

1   Download and Installation

1.2   Installation

The next section describes how the fortran program, pseudopotentials and python interface can be installed.

If you have a installation using the old CamposASE, it is enough just installing the new python interface, see dacapo python interface.

1.2.1   Dacapo fortran program and pseudopotentials

This section describes how the fortran program and pseudopotential are installed. The current version of the fortran program is 2.7.7.

1.2.2   From RPM

A binary RPM (tested and builded using Pentium 4) can be used to install dacapo on a Pentium 4 system.

This will install pseudopotentials in /usr/share/dacapo/psp and binary executable in /usr/bin.

1.2.3   From Tarfile

A Dacapo tar file containing fortran source code and pseudopotentials can be used to install dacapo on a non rpm system.

Use gunzip Dacapo-2.7.7.tar.gz.

1.2.4   Dacapo binaries for different platforms

The page dacapo binaries list dacapo binaries for different platforms.

1.2.5   Compling the fortran source code

Compile the Dacapo source code by:

cd src
gmake <arch> [MP=mpi]

where <arch> is one of:

  • sun_ss10

    Sun sparcstation 10/20)

  • ibm_power3

    RS/6000 power3 node

  • ibm_power2_wide

    RS/6000 wide power2 node

  • ibm_power2_thin

    RS/6000 thin/thin2 power2 node

  • sgi

    Silicon Graphics n32 ABI

  • alpha

    Digital Alpha

  • pglinux

    Portland Group (PGI) pgf90 compiler on Linux

  • intellinux

    Intel ifort Fortran compiler (previously ifc) version >=6.0 on Linux

  • pathscale

    Pathscale EKOpath compiler for AMD64 and EM64T

It is important to use the GNU gmake command on many UNIX systems, in stead of the system's own make command which may be incompatible with our Makefile.

More details should follow here...

1.2.6   Installing the pseudopotentials

The dacapo fortran program adds the enviroment variable DACAPOPATH to the pseudopotential filename (if the file is not found in the currebt working directiory). Copy all pseudopotentials to a directory and set the DACAPOPATH environment variable to this directory:

cp psp/*/*/*.pseudo /some/directory/
setenv DACAPOPATH /some/directory/
1.2.7   dacapo python interface
  1. Get the latest version of the dacapo python interface.

    1. From tar file
    2. cvs:
      cvs checkout dacapo/Python
  1. for case 1 unpack the tar file and:

    [home] $ cd Dacapo

    (for case 2 cd dacapo/Python)

  2. and install with the standard setup.py script (if you have root permission):

    [Python] $ python setup.py install

    If you do not have root permission use:

    [Python] $ python setup.py install  --prefix=/some/where/in/your/path

    In this latter case you must set your PYTHONPATH environment variable, as directed by the setup.py script.

  3. Alternative to step 3 simply set the PYTHONPATH environment variable to your cvs directory.

1.3   CVS access

You can access the code from CVS. See the Campos CVS Page.

After the CVS login, get the dacapo fortran source using:

cvs -d :pserver:USERID@cvs.fysik.dtu.dk:/home/camp/CVSROOT checkout dacapo/src

Get the pseudopotentials using:

cvs -d :pserver:USERID@cvs.fysik.dtu.dk:/home/camp/CVSROOT checkout dacapo/psp

Get the Python interface using:

cvs -d :pserver:USERID@cvs.fysik.dtu.dk:/home/camp/CVSROOT checkout dacapo/Python

2   Running Dacapo in parallel

Dacapo can run in parallel using the MPI parallel library. You need to compile a parallel executable:

gmake <arch> MP=mpi

For getting dacapo to work in parallel with ASE you need to make a script dacapo.run, which should be executable and in your path. dacapo.run is an example of such a script. This example use the LAM/MPI and the PBS batch system.

If you do not use a batch system you can replace the line:

MACHINEFILE=$PBS_NODEFILE

with a explicit file containing the names of the nodes, one on each line:

MACHINEFILE=/your/machine/file

2.1   OpenMPI

For dacapo to run together with ASE you need a dacapo.run script in your path, that will start the correct dacapo executable. This OpenMPI dacapo.run script assumes you are running OpenMPI using the PBS batch system.

You might have to edit the location and names of the serial and parallel executable in this script, i.e the lines:

# Name of serial and parallel DACAPO executables
DACAPOEXE="dacapo_2.7.7.run"
DACAPOEXE_PAR="dacapo_2.7.7_mpi.run"

If OpenMPI is not installed under /usr you will also have to change this in the script.

Copy this script to /usr/local/bin/dacapo.run.

3   Notes for installation on specific computers

3.1   Opteron (Pathscale EKOpath compiler)

This build assumes you have the Pathscale EKOpath Fortran compiler, the OpenMPI message passing library and the ACML Math library installed. Below follows details on how to build the NetCDF and FFTW libraries needed byDdacapo.

3.1.1   NetCDF (Network common Data Format)

Download the NetCDF sofware

Build netcdf like this:

tar -zxf netcdf-3.6.1.tar.gz
cd netcdf-3.6.1/src
./configure --prefix=/usr FC=pathf90 FCFLAGS=-byteswapio CC=pathcc CXX=pathCC
make

and then install in /usr running as root:

make install

See also niflheim note on building a netcdf RPM.

3.1.2   FFTW (Fast Fourier Transform library)

Download version 2.1.5 here Build FFTW like this:

tar -zxf fftw-2.1.5.tar.gz
cd fftw-2.1.5
./configure F77=pathf90 CC=pathcc CFLAGS=-O3 FFLAGS=-O3
make

and then as root:

make install

This will install FFTW in /usr/local.

3.1.3   Dacapo

Unpack the dacapo tar-file:

tar -xzf dacapo-2.7.7.tar.gz
cd dacapo-2.7.7/src

Set the environment variables for ACML, NETCDF and FFTW:

setenv ACML /opt/acml3.5.0/pathscale64
setenv NETCDF /usr/local
setenv FFTW /usr/local

Select the location of the MPI library which you want to use. The default is to use the MPI library installed in /usr as set by:

setenv MPIDIR /usr

Alternative locations may be specified, for example:

setenv MPIDIR /usr/local/infinipath-1.3.1

Now compile dacapo (serial and parallel):

make pathscale
make pathscale MP=mpi

Ignore warnings about type mismatch when compiling ms.F, this is due to MPI expecting pointers to integer arrays for all data types.

Now copy the compiled executables to somewhere on your path, e.g.:

cp pathscale_serial/dacapo.run /usr/local/bin/dacapo_<version>.run
cp pathscale_mpi/dacapo.run /usr/local/bin/dacapo_<version>_mpi.run

3.2   Portland Group (PGI) compiler

Here we will build using the Portland Group's PGI Workstation version 6.0-5 Fortran compiler, and a precompiled BLAS library from the ATLAS project.

3.2.1   Atlas BLAS

Take a precompiled version (3.6.0) of Atlas that fits you system best. The rest of the installation assumes you have installed ATLAS in /usr/local/lib.

The precompiled version of atlas includes 2 underscore for fortran symbols, so for the rest of the fortran compilations use the pgf90 flag -Msecond_underscore.

3.2.2   NetCDF (Network common Data Format)

Download the NetCDF sofware

Build netcdf like this:

tar -zxf netcdf-3.6.1.tar.gz
cd netcdf-3.6.1/src
./configure --prefix=/usr/local FC=pgf90 FCFLAGS='-byteswapio -Msecond_underscore' CC=pgcc CXX=pgCC CPPFLAGS='-DNDEBUG -Df2cFortran'
make

and then install in /usr running as root:

make install
3.2.3   FFTW (Fast Fourier Transform library)

Download FFTW version 2.1.5 and build FFTW like this:

tar -zxf fftw-2.1.5.tar.gz
cd fftw-2.1.5
./configure --prefix=/usr/local F77=pgf90 CC=pgcc CFLAGS=-O3 FFLAGS='-O3 -Msecond_underscore'
make

Now the root user must give the build-user write-access to /usr/local:

root# chmod 777 /usr/local/lib /usr/local/include /usr/local/info

and then install by:

make install

Finally change back permissions:

root# chmod 755 /usr/local/lib /usr/local/include /usr/local/info
3.2.4   LAM-MPI

We will here use the MPI library LAM-MPI

Download the tarfile and build LAM-MPI using:

tar xzvf lam-7.1.2.tar.gz
cd lam-7.1.2
setenv CPPFLAGS '-DNDEBUG -Df2cFortran'
setenv F77 pgf90
setenv FC  pgf90
setenv FFLAGS '-byteswapio -Msecond_underscore'
./configure --prefix=/usr/local/lam-7.1.2-pgi/ CPPFLAGS='-DNDEBUG -Df2cFortran'  F77=pgf90 FC=pgf90  FFLAGS='-byteswapio -Msecond_underscore'
make
make install
3.2.5   Dacapo

Get and unpack the Dacapo tar file, and set the environment variables:

tar xzvf Dacapo-2.7.7.tar.gz
cd Dacapo-2.7.7/src
setenv BLASLAPACK '-L/usr/local/lib -llapack -lcblas -lf77blas -latlas'
setenv NETCDF /usr
setenv FFTW /usr
setenv MPIDIR /usr/local/lam-7.1.2-pgi/

and compile like:

make pglinux
make pglinux MP=mpi

3.3   Intel compiler

The Intel Fortran and C/C++ compilers are installed on the Intel Pentium-4 login nodes thul. The Intel MKL library contains highly optimized BLAS subroutines, among many other things.

The Intel Fortran and Intel C++ Compiler version 9.1.

Manuals in PDF format are in the Intel Fortran guide and the Intel C++ guide.

3.3.1   Intel Math Kernel Library (MKL)

The Intel Math Kernel Library (MKL) Version 8.1 with MKL Manuals. A MKL User Forum for the Intel Math Kernel Library is available.

3.3.2   NetCDF (Network common Data Format)

Download the NetCDF sofware

Build netcdf like this:

tar -zxf netcdf-3.6.1.tar.gz
cd netcdf-3.6.1/src
./configure --prefix=/usr/local FC=ifort FCFLAGS='-byteswapio -Msecond_underscore' CC=icc CXX=icpc CPPFLAGS='-DNDEBUG -Df2cFortran'
make

and then install in /usr running as root:

make install

Dacapo: Installation (last edited 2012-09-16 17:08:32 by MarcinDulak)