Differences between revisions 13 and 14
Revision 13 as of 2006-09-26 20:06:29
Size: 4429
Editor: x1-6-00-0c-6e-2f-31-ba
Revision 14 as of 2006-09-27 14:41:34
Size: 4557
Deletions are marked like this. Additions are marked like this.
Line 93: Line 93:
Start by checking the new version out from cvs:: Start by checking the new version out from CVS::
Line 98: Line 98:
Update the setup.py with the correct version and release numbers, and make a tar-file using:: Update the file ``setup.py`` with the correct version and release numbers (**Lars: how do we know these ??**) like this::

  setup(name = 'Dacapo'

Now build
a tar-file using::
Line 102: Line 107:
The tar-file will be in `dist/Dacapo-<version>.tar.gz`, copy this file
to the rpmbuild directory /home/camp/rpmbuild/SOURCES, and build the rpm using::
The tar-file will be in ``dist/Dacapo-<version>.tar.gz``, copy this file
to the rpmbuild directory ``/home/camp/rpmbuild/SOURCES``, and build the RPM package using::
Line 107: Line 112:
The architecture independent rpm `campos-dacapo-python` are placed in `/home/camp/rpmbuild/RPMS`. The architecture independent RPM ``campos-dacapo-python`` is placed in ``/home/camp/rpmbuild/RPMS``.

Cluster software

Cloning of nodes

The NIFLHEIM cluster uses the SystemImager toolkit on a central server to create an image of a Golden Client node that has been installed in the usual way using a distribution on CD-ROM (Centos Linux in our case). The SystemImager is subsequently used to install identical images of the Golden Client on all of the nodes (changing of course hostname and network parameters).

NetCDF (network Common data Form)

NetCDF (network Common Data Form) is an interface for array-oriented data access and a library that provides an implementation of the interface. The NetCDF library also defines a machine-independent format for representing scientific data.

NetCDF is installed on the cluster via the rpm netcdf-3.6.1-1.2.el4.fys. This build includes bindings to the PathScale fortran compiler. A locally developed spec file for the NetCDF rpm is in:


OpenMPI (A High Performance Message Passing Library)

OpenMPI is an open source implementation of the MPI message passing standard.

The version now installed is 1.1.1 and is build with support for:

* Torque (installation in /usr/local)
* gcc c compiler
* pathscale fortran compiler

The version on the cluster is installed using the rpm openmpi-1.1.1-2. This rpm is build using the buildrpms.sh script from the page.

This is done by modifying the buildrpms.sh script. Change the following lines:

configure_options="--with-tm=/usr/local FC=pathf90 F77=pathf90"

buildrpms.sh is used to build one single rpm, including man pages:


The build of multiple rpms did not seem to work in version 1.1.1.

buildrpms.sh needs the rpm spec file, this can be copied from the unpacked openmpi tar file:

cp openmpi-1.1.1/contrib/dist/linux/openmpi.spec .

Now run:

./buildrpms.sh openmpi-<version>.tar.gz

Processor affinity

For some parallel libraries like BLACS and ScaLAPACK which are using OpenMPI as the communication layer, setting processor affinity seems to be important. Processor affinity is when a process is fixed on a specific processor, see more details in this OpenMPI FAQ.

To enable processor affinity use:

mpirun --mca mpi_paffinity_alone 1 -np 4 a.out

Without this option all copies of the parallel program (siesta) would land on one CPU.


Making RPM for the dacapo python interface

Start by checking the new version out from CVS:

cvs co dacapo/Python
cd dacapo/Python

Update the file setup.py with the correct version and release numbers (Lars: how do we know these ??) like this:

setup(name = 'Dacapo',

Now build a tar-file using:

python setup.py sdist

The tar-file will be in dist/Dacapo-<version>.tar.gz, copy this file to the rpmbuild directory /home/camp/rpmbuild/SOURCES, and build the RPM package using:

rpmbuild -bb campos-dacapo-python.spec

The architecture independent RPM campos-dacapo-python is placed in /home/camp/rpmbuild/RPMS.

Building RPM for Opteron nodes

Follow the steps for compiling dacapo on the opteron nodes, end with:

gmake pathscale MP=mpi
gmake pathscale

Now make a tar file of the directory campos-dacapo-<version> and place this in the rpm source directory:

cd ..
tar zcf /home/camp/rpmbuild/SOURCES/campos-dacapo-<version>-opteron.tar.gz campos-dacapo-<version>

Now build the rpm using the spec file in /home/camp/rpmbuild/SPECS/campos-dacapo-opteron.spec, remember to update version and release numbers in the spec file:

rpmbuild -bb campos-dacapo-opteron.spec

Niflheim: Cluster_software (last edited 2010-11-04 12:56:52 by OleHolmNielsen)