Commit 9cbd4054 authored by Kurt Lust's avatar Kurt Lust
Browse files

Removed old README as it is no longer relevant.

parent 64814b29
PRACE Benchmarks for GPAW
### Code description
[GPAW]( is a density-functional theory (DFT)
program for ab initio electronic structure calculations using the projector
augmented wave method. It uses a uniform real-space grid representation of the
electronic wavefunctions that allows for excellent computational scalability
and systematic converge properties.
GPAW is written mostly in Python, but includes also computational kernels
written in C as well as leveraging external libraries such as NumPy, BLAS and
ScaLAPACK. Parallelisation is based on message-passing using MPI with no
support for multithreading. Development branches for GPGPUs and MICs include
support for offloading to accelerators using either CUDA or pyMIC/libxsteam,
### Download
GPAW is freely available under the GPL license. The source code can be
downloaded from the [Git repository]( or as
a tar package for each release from [PyPi](
For example, to get version 1.4.0 using git:
git clone -b 1.4.0
### Install
Generic [installation instructions](
[platform specific examples](
are provided in the [GPAW wiki]( For
accelerators, architecture specific instructions and requirements are also
provided for [Xeon Phis](build/ and for
Example [build scripts](build/examples/) are also available for some PRACE
### Download
The benchmark set is available in the [benchmark/](benchmark/) directory or
alternatively, for download, either directly from the development
[Git repository](
or from the PRACE RI website (
To download the benchmarks, use e.g. the following command:
git clone -b prace
### Benchmark cases
#### Case S: Carbon nanotube
A ground state calculation for a carbon nanotube in vacuum. By default uses a
6-6-10 nanotube with 240 atoms (freely adjustable) and serial LAPACK with an
option to use ScaLAPACK. Expected to scale up to 10 nodes and/or 100 MPI
Input file: [benchmark/carbon-nanotube/](benchmark/carbon-nanotube/
#### Case M: Copper filament
A ground state calculation for a copper filament in vacuum. By default uses a
2x2x3 FCC lattice with 71 atoms (freely adjustable) and ScaLAPACK for
parallelisation. Expected to scale up to 100 nodes and/or 1000 MPI tasks.
Input file: [benchmark/carbon-nanotube/](benchmark/copper-filament/
#### Case L: Silicon cluster
A ground state calculation for a silicon cluster in vacuum. By default the
cluster has a radius of 15Å (freely adjustable) and consists of 702 atoms,
and ScaLAPACK is used for parallelisation. Expected to scale up to 1000 nodes
and/or 10000 MPI tasks.
Input file: [benchmark/carbon-nanotube/](benchmark/silicon-cluster/
### Running the benchmarks
No special command line options or environment variables are needed to run the
benchmarks on most systems. One can simply say e.g.
srun gpaw-python
#### Special case: KNC
For KNCs (Xeon Phi Knights Corner), one needs to use a wrapper script to set
correct affinities for pyMIC (see
[scripts/](scripts/ for an example)
and to set two environment variables for GPAW:
GPAW_OFFLOAD=1 # (to turn on offloading)
GPAW_PPN=<no. of MPI tasks per node>
For example, in a SLURM system, this could be:
GPAW_PPN=12 GPAW_OFFLOAD=1 mpirun -np 256 -bootstrap slurm \
./ 12 gpaw-python
#### Examples
Example [job scripts](scripts/) (`scripts/job-*.sh`) are provided for
different PRACE systems that may offer a helpful starting point.
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