Differences between revisions 343 and 344
Revision 343 as of 2010-04-21 17:45:03
Size: 77923
Editor: MarcinDulak
Comment:
Revision 344 as of 2010-04-21 17:49:26
Size: 78044
Editor: MarcinDulak
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1397: Line 1397:
    . fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh

    . fys.build.gpaw.sh

This page below describes:

  • configuration of the fys yum repository,
  • the necessary steps to build RPM software packages on a custom RPM-based (currently el, fc) system and the login nodes fjorm or thul.

Warning: campos-dacapo-python provides a python interface to campos-dacapo Fortran code, through campos-ase2. On a 64-bit machine campos-ase2 works only with python <= 2.4, due to the unmaintained python-numeric package. Users on modern systems can use instead the campos-ase3 package and skip installation of any packages related to campos-ase2.

Warning: on 64-bit machines el5 installs often only 32-bit versions of packages. Please verify that 64-bit versions are installed, otherwise run the corresponding yum install package again.

Configure fys yum repository

Warning: fys repository is available currently only from the local network.

We host a yum repository, which contains RPM packages of our software for the following systems: el (RedHat Enterprise Linux, or CentOS), fc (Fedora):

  • configure fys yum repository:

    yum -y install yum-utils wget
    cd /etc/yum.repos.d
    wget --no-check-certificate https://svn.fysik.dtu.dk/projects/rpmbuild/trunk/SOURCES/fys_el.repo

    Note on a Fedora system download fys_fc.repo instead, and use fys_fc identifier in the command below. Moreover on a fc system you do not need to include any external repositories (epel, atrpms).

  • list all packages available in the fys yum repository, maybe you need some of them?:

    yum list available --disablerepo=* --enablerepo=fys_el

    Note: on el configure external el repositories as installation of most packages requires enabling epel or atrpms repositories:

    yum -y install --enablerepo=fys_el,epel,atrpms campos-dacapo

    Note: most of the fys packages are relocatable with the default prefix of /usr. As an example one installs campos-dacapo into the /opt/campos-dacapo-2.7.16 prefix as follows:

    mkdir fys && cd fys # fys directory stores downloaded RPMS
    yumdownloader --resolve --enablerepo=fys_el,epel,atrpms campos-dacapo-2.7.16
    mkdir tmp && mv campos-dacapo-2.7.16* tmp
    yum -y localinstall *
    rpm -ivh --relocate "/usr"="/opt/campos-dacapo-2.7.16" tmp/campos-dacapo-*
    mv tmp/campos-dacapo-* . && rmdir tmp

    Have a look at the /opt/campos-dacapo-2.7.16/share/campos-dacapo/*.*sh to see what environment variables need to be set in case of an installation into a non-default prefix. There is also a template modulefile /opt/campos-dacapo-2.7.16/share/campos-dacapo/campos-dacapo-2.7.16* that contains `prereq`ired modules (modulefiles surely are different on your system).

Configure external el repos

On RedHat Enterprise Linux or CentOS, as root:

  • create yum repository definitions (do not enable them):
  • ATrpms:

    • official way: follow ATrpms installation instructions and edit /etc/yum.repos.d/atrpms.repo so it contains:

      enabled=0
    • fast way:

      echo '[atrpms]' > /etc/yum.repos.d/atrpms.repo
      echo 'name=CentOS $releasever - $basearch - ATrpms' >> /etc/yum.repos.d/atrpms.repo
      echo 'baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable' >> /etc/yum.repos.d/atrpms.repo
      echo '#baseurl=http://mirrors.ircam.fr/pub/atrpms/el$releasever-$basearch/atrpms/stable' >> /etc/yum.repos.d/atrpms.repo
      echo 'gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms' >> /etc/yum.repos.d/atrpms.repo
      echo 'gpgcheck=1' >> /etc/yum.repos.d/atrpms.repo
      echo 'enabled=0' >> /etc/yum.repos.d/atrpms.repo
  • EPEL:

    • official way: follow EPEL/FAQ/howtouse and edit /etc/yum.repos.d/epel.repo so it contains:

      enabled=0
    • fast way:

      echo '[epel]' > /etc/yum.repos.d/epel.repo
      echo 'name=CentOS $releasever - $basearch - EPEL' >> /etc/yum.repos.d/epel.repo
      echo 'baseurl=http://download.fedora.redhat.com/pub/epel/$releasever/$basearch' >> /etc/yum.repos.d/epel.repo
      echo 'gpgkey=http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL' >> /etc/yum.repos.d/epel.repo
      echo 'gpgcheck=1' >> /etc/yum.repos.d/epel.repo
      echo 'enabled=0' >> /etc/yum.repos.d/epel.repo
  • install, as root:

    yum install yum-utils wget
    # /var directories must be created
    yum search --enablerepo=atrpms arpack-devel
    yum search --enablerepo=epel jmol

Configure rpmbuild

  • create and retrieve the rpmbuild project (as rpmbuild user):

    cd
    svn co https://svn.fysik.dtu.dk/projects/rpmbuild/trunk rpmbuild
  • include the rpmbuild environment configuration script in ~/.bashrc:

  • copy the script:

    cp ~/rpmbuild/SOURCES/.bashrc_rpmbuild ~/
  • and add the following to ~/.bashrc:

    if [ -r "${HOME}/.bashrc_rpmbuild" ]; then
        . ${HOME}/.bashrc_rpmbuild
    fi

    Note on Niflheim the variables:

    export FYS_PLATFORM=Intel-Nehalem-el5 # thul
    export FYS_PLATFORM=AMD-Opteron-el5 # fjorm

    will be set automatically by /home/camp/modulefiles.sh if the environment-modules package is installed.

  • create temporary directory:

    mkdir -p /scratch/$USER
  • apply settings from ~/.bashrc by:

    . ~/.bashrc
  • use the following ~rpmbuild/.rpmmacros:

    cp ~/rpmbuild/SOURCES/.rpmmacros ~/
  • create directories:

    mkdir -p ~/${FYS_PLATFORM}/{RPMS,SRPMS,BUILD}
    mkdir -p ~/${FYS_PLATFORM}/{SPECS,SOURCES} # needed only by openmpi

Install external packages

  • download official packages, as rpmbuild:

    cd ~/${FYS_PLATFORM}/RPMS
    mkdir external; cd external
    # packages from other distributions
    yumdownloader --resolve texlive-latex emacs-auctex tex-preview
    # el5 packages
    yumdownloader --resolve emacs binutils-devel glib-devel libstdc++-devel
    yumdownloader --resolve gcc-gfortran blas-devel lapack-devel python-devel
    yumdownloader --resolve gnuplot libXi-devel xorg-x11-fonts-100dpi pexpect tetex-latex tkinter qt-devel
    yumdownloader --resolve openmpi openmpi-devel openmpi-libs compat-dapl libibverbs librdmacm openib
    yumdownloader --resolve pygtk2-devel gtk2-devel tk-devel agg ghostscript libtiff-devel xterm
    yumdownloader --resolve libX11-devel libXext-devel openmotif openmotif-devel gd-devel libXpm-devel
    yumdownloader --resolve compat-libstdc++-33 # for mathematica
    yumdownloader --resolve MySQL-python # for CMR
    
    yumdownloader --resolve gcc43-c++ gcc43-gfortran
    yum localinstall * # as root
  • download atrpms packages, as rpmbuild (vtk-python is currently unavailable 16 Apr 2009):

    cd ~/${FYS_PLATFORM}/RPMS/external
    yumdownloader --resolve --enablerepo=atrpms vtk-python arpack-devel graphviz
    wget http://ATrpms.net/RPM-GPG-KEY.atrpms
    rpm --import RPM-GPG-KEY.atrpms # as root
    yum localinstall * # as root
  • download the packages from epel, as rpmbuild:

    ~/${FYS_PLATFORM}/RPMS/external
    yumdownloader --resolve --enablerepo=epel jmol gsl-devel python-lxml
    yumdownloader --resolve --enablerepo=epel environment-modules suitesparse-devel
    wget http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL
    rpm --import RPM-GPG-KEY-EPEL # as root
    yum localinstall * # as root
  • on Niflheim only: remove default openmpi:

    yum remove openmpi openmpi-libs
  • edit /etc/yum.conf so it contains:

    exclude=netcdf-* netcdf3-* fftw-* fftw2-* fftw3-* python-numeric openmpi-* libgfortran4* gcc4* libstdc++4* libgomp-*

It's time to build custom RPMS

compilers and tools

open64

Install (on the login and computes nodes) Install Open64 Compiler Suite RPM, and deploy module file under ` ~rpmbuild/modulefiles/${FYS_PLATFORM}/open64`. Install using --relocate option:

rpm -ivh --relocate "/opt/open64"="/opt/open64/4.2.1" open64-4.2.1-0.x86_64.rpm

The module file is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Note: the module file should contain at least:

prepend-path     PATH /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
prepend-path     PATH /opt/open64/4.2.1/bin
prepend-path     LD_LIBRARY_PATH /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1
g95

Install (on the login and computes nodes) g95 RPM, and deploy module file under ` ~rpmbuild/modulefiles/${FYS_PLATFORM}/g95`. Install using --relocate option:

rpm -ivh --relocate "/usr/local"="/opt/g95/0.91" g95-0.91-4.x86_64.rpm

The module file is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Note: the module file should contain at least (do not add the lib directory to LD_LIBRARY_PATH):

prepend-path     PATH /opt/g95/0.91/lib/gcc-lib/x86_64-unknown-linux-gnu/4.0.3
prepend-path     PATH /opt/g95/0.91/bin
intel

Install icc/ifort compilers (only on the login nodes, packages available under /home/data/Intel with restricted access), install (using rpm -ivh) only the following packages from l_cproc_p_11.1.046_intel64:

intel-cproc046-11.1-1.x86_64.rpm
intel-cproidb046-11.1-1.x86_64.rpm
intel-cprolib046-11.1-1.x86_64.rpm
intel-cprolibdev046-11.1-1.x86_64.rpm
intel-cprotbblib046-11.1-1.noarch.rpm
intel-cprotbblibdev046-11.1-1.noarch.rpm
intel-cprocsdk046-11.1-1.noarch.rpm
intel-cproidbsdk046-11.1-1.noarch.rpm

and from l_cprof_p_11.1.046_intel64:

intel-cprof046-11.1-1.x86_64.rpm
intel-cproflib046-11.1-1.x86_64.rpm
intel-cprofsdk046-11.1-1.noarch.rpm

, enable them (only on thul):

. /opt/intel/Compiler/11.1/046/bin/intel64/ifortvars_intel64.sh
. /opt/intel/Compiler/11.1/046/bin/intel64/iccvars_intel64.sh

Build intel compatibility packages (only on thul):

cd ~/rpmbuild/SPECS
rpmbuild -bb ${modules_usage} intel-redist.spec

Note: do not install the RPMS generated in the last step on the login node. They need to be installed only on compute nodes. On the login node only the module file needs to be deployed under ~rpmbuild/modulefiles, as rpmbuild. Note that this directory is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Here is what need to be done for a new version of the package:

mkdir ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
cp /scratch/rpmbuild/intel-11.1.046/11.1.046-1.intel64.${disttag} ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
cd ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
ln -s 11.1.046-1.intel64.${disttag} 11.1-1

Note: the above module file should contain at least:

prepend-path    LD_LIBRARY_PATH      /opt/intel/Compiler/11.1/046/lib/intel64
prepend-path    LD_LIBRARY_PATH      /opt/intel/Compiler/11.1/046/idb/lib/intel64
prepend-path    PATH                 /opt/intel/Compiler/11.1/046/bin/intel64
prepend-path    MANPATH              :
prepend-path    MANPATH              /opt/intel/Compiler/11.1/046/man

Note: intel changes packaging quite often, here are the installation instructions for the 10.1.015 compilers:

  • install RPMS (on the login and computes nodes) found in l_cc_p_10.1.015_intel64.tar.gz and l_fc_p_10.1.015_intel64.tar.gz manually (using rpm -ivh):

    intel-icce101015-10.1.015-1.em64t.rpm
    intel-iidbe101015-10.1.015-1.em64t.rpm
    intel-isubhe101015-10.1.015-1.em64t.rpm
    intel-iforte101015-10.1.015-1.em64t.rpm
  • replace the installation path in the scripts (action necessary only on the login node):

    files=`grep "<INSTALLDIR>" -r /opt/intel/cce/ | cut -d":" -f 1 | uniq`
    for file in $files;
    do
        echo $file
        sed -i 's#<INSTALLDIR>#/opt/intel/cce/10.1.015#g' $file
    done
    files=`grep "<INSTALLDIR>" -r /opt/intel/fce/ | cut -d":" -f 1 | uniq`
    for file in $files;
    do
        echo $file
        sed -i 's#<INSTALLDIR>#/opt/intel/fce/10.1.015#g' $file
    done
    files=`grep "<INSTALLDIR>" -r /opt/intel/idbe/ | cut -d":" -f 1 | uniq`
    for file in $files;
    do
        echo $file
        sed -i 's#<INSTALLDIR>#/opt/intel/idbe/10.1.015#g' $file
    done
  • provide the module file ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort/10.1.015-1.intel64.${disttag}:

    prepend-path    LD_LIBRARY_PATH      /opt/intel/cce/10.1.015/lib
    prepend-path    LD_LIBRARY_PATH      /opt/intel/fce/10.1.015/lib
    
    prepend-path    PATH                 /opt/intel/cce/10.1.015/bin
    prepend-path    PATH                 /opt/intel/fce/10.1.015/bin
    prepend-path    PATH                 /opt/intel/idbe/10.1.015/bin
    prepend-path    MANPATH              :
    prepend-path    MANPATH              /opt/intel/cce/10.1.015/man
    prepend-path    MANPATH              /opt/intel/fce/10.1.015/man
    prepend-path    MANPATH              /opt/intel/idbe/10.1.015/man

    and the link:

    cd ~rpmbuild/modulefiles/${FYS_PLATFORM}/ifort
    ln -s 10.1.015-1.intel64.${disttag} 10.1-1
intel mkl

Install mkl, and build mkl compatibility package (only on thul):

cd ~/rpmbuild/SOURCES
export mkl=10.1.3.027
mkdir ${mkl}
cp -rp /opt/intel/mkl/${mkl}/lib ${mkl}
cp -rp /opt/intel/mkl/${mkl}/doc ${mkl}
tar zcf intel-redist-mkl-${mkl}.tar.gz ${mkl}

cd ~/rpmbuild/SPECS
rpmbuild -bb --with version1=1 --with version2=3 --with version3=027 ${modules_usage} intel-redist-mkl.spec

Note: do not install the resulting RPM on the login node. It needs to be installed only on compute nodes. On the login node only the module file needs to be deployed under ~rpmbuild/modulefiles, as rpmbuild. Note that this directory is available as svn checkout at https://svn.fysik.dtu.dk/projects/modulefiles/trunk. Here is what need to be done for a new version of the package:

mkdir ~rpmbuild/modulefiles/${FYS_PLATFORM}/mkl
cp /tmp/intel-mkl-${mkl}/${mkl}-1.${disttag}.em64t ~rpmbuild/modulefiles/${FYS_PLATFORM}/mkl
cd ~rpmbuild/modulefiles/${FYS_PLATFORM}/mkl
ln -s ${mkl}-1.${disttag}.em64t 10.1p-027

Note: the above module file should contain at least:

prepend-path    LD_LIBRARY_PATH      /opt/intel/mkl/10.1.3.027/lib/em64t

Moreover: intel-*intel64* RPMS need to be installed with --nodeps, so move them into a special directory:

mkdir -p ~/${FYS_PLATFORM}/RPMS/nodeps
mv ~/${FYS_PLATFORM}/RPMS/intel-*intel64* ~/${FYS_PLATFORM}/RPMS/nodeps

Build mkl/fftw (as root):

export mkl=10.1.3.027
. /opt/intel/Compiler/11.0/083/bin/intel64/ifortvars_intel64.sh
cd /opt/intel/mkl/${mkl}/interfaces/fftw2xf
make libem64t
cd /opt/intel/mkl/${mkl}/lib/em64t
ln -s libfftw2xf_intel.a libfftw.a

Logout and login as rpmbuild.

openmpi

Build a custom openmpi, using torque support:

wget http://www.open-mpi.org/software/ompi/v1.3/downloads/openmpi-1.3.3.tar.bz2 \
     -O ~/rpmbuild/SOURCES/openmpi-1.3.3.tar.bz2
sh ./buildrpm-1.3.3-1.gfortran.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.gfortran.sh.log.${FYS_PLATFORM}
sh ./buildrpm-1.3.3-1.gfortran43.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.gfortran43.sh.log.${FYS_PLATFORM}
sh ./buildrpm-1.3.3-1.pathscale.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.pathscale.sh.log.${FYS_PLATFORM}
sh ./buildrpm-1.3.3-1.ifort.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.ifort.sh.log.${FYS_PLATFORM} # thul only
module load g95
sh ./buildrpm-1.3.3-1.g95.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.g95.sh.log.${FYS_PLATFORM} # fjorm only
module unload g95
module load open64 # 24 June 2009: build fails on Nehalem with *configure: error: TM support requested but not found.  Aborting*
sh ./buildrpm-1.3.3-1.open64.sh ../SOURCES/openmpi-1.3.3.tar.bz2 2>&1 | tee buildrpm-1.3.3-1.open64.sh.log.${FYS_PLATFORM}
module unload open64

Note: intel openmpi needs to be installed ignoring dependencies:

rpm -ivh --nodeps --oldpackage ~rpmbuild/${FYS_PLATFORM}/RPMS/openmpi-1.3.3-1.${disttag}.ifort.11.1.x86_64.rpm

acml

Note this package is not relocatable!

AMD Core Math Library contains optimized BLAS and LAPACK libraries for AMD opteron processors (work also on intel), and is available for download after registration.

Build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.blas.acml.4.0.1.sh

. fys.build.acml.sh
#
. fys.set.Niflheim.pathscale.3.2.sh
. fys.set.blas.acml.4.0.1.sh

. fys.build.acml.sh
#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.blas.acml.4.3.0.sh

. fys.build.acml.sh
#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.blas.acml.4.3.0_mp.sh

. fys.build.acml.sh
#
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.blas.acml.4.3.0.sh

. fys.build.acml.sh

Note problems with dgemm acml 4.1.0 and 4.2.0 have been reported. Moreover campos-dacapo built with acml-4-1-0-pathscale-64bit.tgz fails with "ZINSC 2 returned info= 2" for the following job:

#!/usr/bin/env python
from Dacapo import Calculator
from ASE.IO.xyz import ReadXYZ
from ASE.Dynamics.Langevin import Langevin

prefix = 'D'
atoms = ReadXYZ('32H2O.xyz')
L = 9.8553729
atoms.SetUnitCell([L, L, L], fix=True)
atoms.SetBoundaryConditions(True)
r = 1
atoms = atoms.Repeat([r, r, r])
n = 48 * r
calc = Calculator(nbands=128 * r**3, planewavecutoff=350,
                  densitycutoff=500, xc='PBE')
atoms.SetCalculator(calc)

from time import time
atoms.GetPotentialEnergy()
pos=atoms[0].GetCartesianPosition()
atoms[0].SetCartesianPosition(pos+0.005)
t0=time()
atoms.GetPotentialEnergy()
print time()-t0

Download 32H2O.xyz

goto

GotoBLAS contains optimized BLAS libraries, and is available for academic community after registration. Does not work in Intel Nehalem.

Download GotoBLAS-1.26.tar.gz to ~/rpmbuild/SOURCES. The default build process searches your $PATH for available compilers. Priority order is PathScale, PGI, Intel, gfortran, g95 and g77, therefore setting compilers explicitly is needed.

On a custom system build the following RPMS:

blas_version=1.26
. fys.set.gfortran.default.sh

(rpm_prefix=/usr && . fys.build.goto.sh)

On Niflheim build RPMS (on the target compute node!) using the following command:

blas_version=1.26
. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.goto.sh

#
blas_version=1.26
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.goto.sh

#
blas_version=1.26
. fys.set.Niflheim.pathscale.3.2.sh

. fys.build.goto.sh
#
blas_version=1.26
. fys.set.Niflheim.open64.4.2.1.sh

. fys.build.goto.sh

Note - 1.26 version fails on Nehalem with:

../../../param.h:1195:21: error: division by zero in #if

atlas

Note this package is not relocatable!

On a custom system build the following RPMS:

blas_version=3.8.3
. fys.set.gfortran.default.sh
(rpm_prefix=/usr/local/atlas && default_version_usage="--with default_version" && . fys.build.atlas.sh)

On Niflheim build the following RPMS:

blas_version=3.8.3
. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.atlas.sh

#
blas_version=3.8.3
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.atlas.sh

Note: - 3.8.3 version fails on Opteron with open64 with:

/scratch/rpmbuild/ATLAS/RpmObjs/..//CONFIG/src/backend/comptestC.c:5: undefined reference to `__pathscale_malloc_alg'

rasmol

Required by campos-ase2.

Note that rasmol is built for 32bit architecture, so make sure that your system fulfills "BuildRequires" for both 64 and 32bit:

rpmbuild --nobuild RasMol.spec

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.RasMol.2.7.3.sh)

On Niflheim build the following RPMS:

. fys.build.RasMol.2.7.3.sh

cblas

Required by campos-ase2.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.blas.default.sh

(rpm_prefix=/usr && . fys.build.cblas.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.blas.acml.4.0.1.sh

. fys.build.cblas.sh

python-setuptools

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.setuptools.0.6c9.sh)

On Niflheim build the following RPMS:

. fys.build.setuptools.0.6c9.sh

If using modules:

module load python-setuptools

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-setuptools.sh

python-nose

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.nose.0.10.4.sh)

On Niflheim build the following RPMS:

. fys.build.nose.0.10.4.sh

If using modules:

module load python-nose

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-nose.sh

numpy

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.cblas.2.23.3.sh

 (rpm_prefix=/usr && . fys.build.numpy.1.3.0.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.acml.4.0.1.cblas.none.sh

. fys.build.numpy.1.3.0.sh

# only on thul
. fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.mkl.10.1.3.027.cblas.mkl.10.1.3.027.sh

. fys.build.numpy.1.3.0.sh

# building using cblas/acml causes the test below to fail
. fys.set.Niflheim.numpy.1.3.0.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

. fys.build.numpy.1.3.0.sh

After installing python-numeric make a very rough check:

  • is using modules:

    module load ${blas}-${compiler}64/${blas_version}-1.${disttag}
    module load cblas-${blas}-${compiler}64/2.23.3-1.${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    module load numpy/1.3.0-1.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    python -c "import numpy; from numpy.core.multiarray import dot; b = numpy.ones(13, numpy.complex); dot(b, b)"
    python -c "import numpy; numpy.test()"
  • else, if not using the default "/usr" prefix:

    . /etc/profile.d/numpy.sh

gnuplot-py

Required by campos-ase2.

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.gnuplot-py.1.8.sh)

On Niflheim build the following RPMS:

. fys.build.gnuplot-py.1.8.sh

If using modules:

module load gnuplot-py

else, if not using the default "/usr" prefix:

. /etc/profile.d/gnuplot-py.sh

python-numeric

Required by campos-ase2.

Warning: on a 64-bit machine works only with python <= 2.4.

We must install 24.2 version, and we keep the default version:

cd ~/${FYS_PLATFORM}/RPMS/external
rpm -e --nodeps python-numeric # as root
yumdownloader --resolve --disableexcludes=main python-numeric
cd ~/rpmbuild/SPECS

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.cblas.2.23.3.sh

. fys.build.Numeric.24.2.sh

On Niflheim build the following RPMS:

. fys.set.Niflheim.Numeric.24.2.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

. fys.build.Numeric.24.2.sh

Note: (16 Apr 2009) currently Numeric's test.py results in (we ignore this error):

glibc detected *** python: free(): invalid next size (normal): 0x09aee970 ***

After installing python-numeric make a very rough check:

  • is using modules:

    module load ${blas}-${compiler}64/${blas_version}-1.${disttag}
    module load cblas-${blas}-${compiler}64/2.23.3-1.${disttag}.${compiler}.${compiler_version}.${blas}.${blas_version}
    module load python-numeric/24.2-4.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    python -c "import lapack_lite"
    ldd `rpm -ql python-numeric-24.2-4.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version} | grep lapack_lite.so`
    ldd `rpm -ql python-numeric-24.2-4.${disttag}.${compiler}.${compiler_version}.python${python_version}.${blas}.${blas_version}.${lapack}.${lapack_version} | grep _dotblas.so`
  • else:

    . /etc/profile.d/python-numeric.sh
    python -c "import lapack_lite"
    ldd `rpm -ql python-numeric | grep lapack_lite.so`
    ldd `rpm -ql python-numeric | grep _dotblas.so`

and reinstall the default version:

rpm -ivh --oldpackage ~/${FYS_PLATFORM}/RPMS/external/python-numeric-23.*.rpm

netcdf

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.

We prefer version 3.6.1 or higher (note that version 3.6.2 has fortran interface in libnetcdff.a).

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh

(rpm_prefix=/usr && . fys.build.netcdf4.4.0.1.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh

. fys.build.netcdf4.4.0.1.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh

. fys.build.netcdf4.4.0.1.sh

# only on fjorm
. fys.set.Niflheim.pathscale.3.2.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh

. fys.build.netcdf4.4.0.1.sh

# only on thul
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh

. fys.build.netcdf4.4.0.1.sh

# only on fjorm
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh

. fys.build.netcdf4.4.0.1.sh

ScientificPython 2.6.2

Warning: version 2.6.2 required by campos-ase2. Later versions are needed by campos-ase3. Note that versions 2.6.2 and >= 2.8 are mutually exclusive if installed in the default "/usr" prefix.

On a custom system build the following RPMS:

. fys.set.ScientificPython.2.6.2.default.sh

(rpm_prefix=/usr && . fys.build.ScientificPython.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.ScientificPython.2.6.2.gfortran.4.1.2.openmpi.1.3.3.numeric.sh

. fys.build.ScientificPython.sh

ScientificPython 2.8 or later

Note that versions 2.6.2 and >= 2.8 are mutually exclusive if installed in the default "/usr" prefix.

Required by campos-ase3.

On a custom system build the following RPMS:

. fys.set.ScientificPython.2.8.default.sh

(rpm_prefix=/usr && . fys.build.ScientificPython.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.ScientificPython.2.8.gfortran.4.1.2.serial_version.only.numpy.sh

. fys.build.ScientificPython.sh

python-docutils

On a custom system build the following RPMS:

  (rpm_prefix=/usr && . fys.build.docutils.0.5.sh)

On Niflheim build the following RPMS::

   . fys.build.docutils.0.5.sh

If using modules::

  module load python-docutils

else, if not using the default "/usr" prefix::

  . /etc/profile.d/python-docutils.sh

pytz

On a custom system build the following RPMS:

  (rpm_prefix=/usr && . fys.build.pytz.2008g.sh)

On Niflheim build the following RPMS::

   . fys.build.pytz.2008g.sh

If using modules::

  module load pytz

else, if not using the default "/usr" prefix::

  . /etc/profile.d/pytz.sh

python-dateutil

On a custom system build the following RPMS:

  (rpm_prefix=/usr && . fys.build.python-dateutil.1.4.1.sh)

On Niflheim build the following RPMS::

   . fys.build.python-dateutil.1.4.1.sh

If using modules::

  module load python-dateutil

else, if not using the default "/usr" prefix::

  . /etc/profile.d/python-dateutil.sh

python-matplotlib

On a custom system build the following RPMS:

  (rpm_prefix=/usr && . fys.build.python-matplotlib.0.99.1.2.sh)

On Niflheim build the following RPMS::

   . fys.build.python-matplotlib.0.99.1.2.sh

campos-ase2

On a custom system build the following RPMS:

  (rpm_prefix=/usr && . fys.build.ase2.2.3.13.sh)

On Niflheim build the following RPMS::

   . fys.build.ase2.2.3.13.sh

fftw2

We use version 2.1.5.

On a custom system build the following RPMS:

. fys.set.fftw2.default.sh

(rpm_prefix=/usr && . fys.build.fftw2.2.1.5.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.fftw2.2.1.5.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.fftw2.2.1.5.sh

#
. fys.set.Niflheim.pathscale.3.2.sh

. fys.build.fftw2.2.1.5.sh

# only on fjorm
. fys.set.Niflheim.open64.4.2.1.sh

. fys.build.fftw2.2.1.5.sh

# Note: 24 June 2009: ifort fails to build static fftw2
. fys.set.Niflheim.ifort.11.0.sh

. fys.build.fftw2.2.1.5.sh

campos-dacapo-pseudopotentials

Note this package is not relocatable!

campos-dacapo-pseudopotentials-1.tar.gz

On a custom system build the following RPMS:

(default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.dacapo-pseudopotentials.1.sh)

On Niflheim build the following RPMS:

. fys.build.dacapo-pseudopotentials.1.sh

campos-dacapo-python

Requires campos-ase2.

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.dacapo-python.0.9.4.sh)

On Niflheim build the following RPMS:

. fys.build.dacapo-python.0.9.4.sh

campos-dacapo

Note that FC's fftw version 3 is incompatible with dacapo.

If you build only a serial version add "--without parallel" to the rpmbuild options. Another useful option is "--without default_version" that does not put /etc/profile.d scripts, nor modules under /opt/modulefiles that allows the package to be relocatable.

Warning: currently (9 Oct 2008) packaging of openmpi on FC8/FC9 requires the following link to be made:

ln -s /usr/include/openmpi/1.2.4-gcc/32/mpif-config.h /usr/include/openmpi/1.2.4-gcc/mpif-config.h

Warning: currently (9 Oct 2008) the default build fails for EL4 due to double underlined symbols in the netcdf from ATrpms, however custom build (i.e. with building your own netcdf should work).

On a custom system build the following RPMS:

. fys.set.dacapo.default.sh
. fys.set.atlas.default.sh

(rpm_prefix=/usr && . fys.build.dacapo.sh)

# optional build using netlib blas/lapack
. fys.set.dacapo.default.sh

(rpm_prefix=/usr && . fys.build.dacapo.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.dacapo.2.7.16.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw2.sh

. fys.build.dacapo.sh

# only on fjorm
. fys.set.Niflheim.dacapo.2.7.16.open64.4.2.1.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw2.sh

. fys.build.dacapo.sh

# only on thul
. fys.set.Niflheim.dacapo.2.7.16.gfortran43.4.3.2.openmpi.1.3.3.mkl.10.1.3.027.mkl.10.1.3.027.mkl.sh

. fys.build.dacapo.sh

# optional
. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Nilfheim.openmpi.1.3.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
. fys.set.Niflheim.fftw2.2.1.5.sh
. fys.set.blas.default.sh
. fys.set.lapack.acml.sh

. fys.build.dacapo.sh

# optional
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Nilfheim.openmpi.1.3.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
. fys.set.Niflheim.fftw2.2.1.5.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.lapack.acml.sh

. fys.build.dacapo.sh

# optional
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Nilfheim.openmpi.1.3.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
. fys.set.Niflheim.fftw2.2.1.5.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.lapack.acml.sh

. fys.build.dacapo.sh

# optional # only on thul # multinode jobs fail
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.Nilfheim.openmpi.1.3.3.sh
. fys.set.Niflheim.netcdf4.4.0.1.sh
. fys.set.Niflheim.mkl.10.1.3.027.sh

. fys.build.dacapo.sh

fftw3

On a custom system build the following RPMS:

. fys.set.fftw3.default.sh

(rpm_prefix=/usr && . fys.build.fftw3.3.2.1.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh

. fys.build.fftw3.3.2.1.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh

. fys.build.fftw3.3.2.1.sh

scipy

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.cblas.2.23.3.sh
. fys.set.fftw3.default.sh
. fys.set.suitesparse.default.sh

(rpm_prefix=/usr && . fys.build.scipy.0.7.0.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.scipy.0.7.0.gfortran.4.1.2.blas.lapack.cblas.2.23.3.sh

. fys.build.scipy.0.7.0.sh

# optional - not tested!
. fys.set.Niflheim.scipy.0.7.0.gfortran.4.1.2.acml.4.0.1.cblas.2.23.3.sh

. fys.build.scipy.0.7.0.sh

povray

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.povray.sh)

On Niflheim build the following RPMS:

. fys.build.povray.sh

babel

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.Babel.0.9.4.sh)

On Niflheim build the following RPMS:

. fys.build.Babel.0.9.4.sh

If using modules:

module load babel

else, if not using the default "/usr" prefix:

. /etc/profile.d/babel.sh

python-jinja2

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.Jinja2.2.1.1.sh)

On Niflheim build the following RPMS:

. fys.build.Jinja2.2.1.1.sh

If using modules:

module load python-jinja2

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-jinja2.sh

python-pygments

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.Pygments.1.0.sh)

On Niflheim build the following RPMS:

. fys.build.Pygments.1.0.sh

If using modules:

module load python-pygments

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-pygments.sh

python-sphinx

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.Sphinx.0.6.1.sh)

On Niflheim build the following RPMS:

. fys.build.Sphinx.0.6.1.sh

If using modules:

module load python-sphinx

else, if not using the default "/usr" prefix:

. /etc/profile.d/python-sphinx.sh

auctex

Build the following RPMS:

cd ~/rpmbuild/SOURCES&& wget http://ftp.gnu.org/pub/gnu/auctex/auctex-11.85.tar.gz
cd ~/rpmbuild/SPECS

rpmbuild -bb auctex.spec

campos-ase3

On a custom system build the following RPMS:

(rpm_prefix=/usr && . fys.build.ase3.3.1.1390.sh)

On Niflheim build the following RPMS:

. fys.build.ase3.3.1.1390.sh

Snapshot package is built with, e.g.:

major_version=3
version1=2
version2=0
version_svn=1066
release=${major_version}.${version1}.${version2}.${version_svn}/1.${disttag}.python${python_version}
rpmbuild -bb --with major_version=${major_version} --with version1=${version1} --with version2=${version2} --with version_svn=${version_svn} --with keep_install=1 \
             ${modules_usage} --with default_version -with system=${rpm_platform} \
             --with python_version=${python_version} \
             --with prefix=/home/camp/rpmbuild/opt/Intel-Nehalem-el5/campos-ase3/${release} campos-ase3.spec
rm /home/camp/rpmbuild/Intel-Nehalem-el5/RPMS/campos-ase3-${major_version}.${version1}.${version2}.${version_svn}-1.${disttag}.python${python_version}.x86_64.rpm
dir=~/Intel-Nehalem-el5/BUILD/campos-ase3-${major_version}.${version1}.${version2}.${version_svn}-1.${disttag}.python${python_version}-root
ln -s ${dir}/etc/modulefiles/campos-ase3/${major_version}.${version1}.${version2}.${version_svn}-1.${disttag}.python${python_version} \
   ~/Intel-Nehalem-el5/modulefiles.testing/campos-ase3
ln -s ${dir}/home/camp/rpmbuild/opt/Intel-Nehalem-el5/campos-ase3/${major_version}.${version1}.${version2}.${version_svn} ~/opt/Intel-Nehalem-el5/campos-ase3

blacs

BLACS is used by ScaLapack.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.openmpi.default.sh

(rpm_prefix=/usr && . fys.build.blacs.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.pathscale.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

#
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh

. fys.build.blacs.sh

scalapack

SCALAPACK.

On a custom system build the following RPMS:

. fys.set.gfortran.default.sh
. fys.set.openmpi.default.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.blacs.1.1.sh

(rpm_prefix=/usr && . fys.build.scalapack.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gfortran.4.1.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.sh

#
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.3.0.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.sh

#
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.Niflheim.atlas.3.8.3.sh
. fys.set.Niflheim.blacs.1.1.sh

. fys.build.scalapack.sh

PDSYEVRnew

  • PDSYEVRnew ScaLAPACK's new parallel MRRR algorithm for computing eigenpairs of large real symmetric or complex Hermitian matrices.

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh
    
    . fys.build.PDSYEVRnew.sh
    
    #
    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.Niflheim.goto.1.26.sh
    . fys.set.Niflheim.blacs.1.1.sh
    . fys.set.Niflheim.scalapack.1.8.0.sh
    
    . fys.build.PDSYEVRnew.sh

campos-gpaw-setups

Note this package is not relocatable!

On a custom system build the following RPMS:

(default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.gpaw-setups.0.5.3574.sh)

On Niflheim build the following RPMS:

. fys.build.gpaw-setups.0.5.3574.sh

campos-gpaw

On a custom system build the following RPMS:

# March 3 2010: results in "orthogonalization failed" with EPEL's atlas on el5.x64_64
. fys.set.gpaw.default.sh
. fys.set.atlas.default.sh

(rpm_prefix=/usr && . fys.build.gpaw.sh)

# optional build using netlib blas/lapack
. fys.set.gpaw.default.sh

(rpm_prefix=/usr && . fys.build.gpaw.sh)

On Niflheim build the following RPMS:

. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh

. fys.build.gpaw.sh

# only on fjorm
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.goto.1.26.acml.4.3.0.sh

. fys.build.gpaw.sh

Optional builds:

. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.4.0.acml.4.4.0.sh

. fys.build.gpaw.sh
#
. fys.set.Niflheim.gpaw.0.6.5147.gfortran.4.1.2.openmpi.1.3.3.acml.4.0.1.acml.4.0.1.sh

. fys.build.gpaw.sh

# default gfortran and netlib blas/lapack/scalapack
. fys.set.Niflheim.gpaw.0.6.5147.gfortran.4.1.2.openmpi.1.3.3.acml.4.0.1.acml.4.0.1.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# latest gfortran and netlib blas/lapack/scalapack
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
. fys.set.blas.default.sh
. fys.set.lapack.default.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# atlas - gpaw-test fails for diagonalization on el5 x86_64 18 Jan 2010
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
. fys.set.Niflheim.atlas.3.8.3.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# atlas - gpaw-test fails for diagonalization on el5 x86_64 18 Jan 2010
. fys.set.Niflheim.gpaw.0.6.5147.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
. fys.set.Niflheim.atlas.3.8.3.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# only on fjorm
# note --with sl_second_underscore=1 is necessary for rpmbuild
. fys.set.Niflheim.pathscale.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.0.1.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

# only on fjorm
# note --with sl_second_underscore=1 is necessary for rpmbuild
. fys.set.Niflheim.open64.4.2.1.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.blas.acml.4.0.1.sh
. fys.set.lapack.acml.sh
. fys.set.Niflheim.goto.1.26.sh
. fys.set.Niflheim.blacs.1.1.sh
. fys.set.Niflheim.scalapack.1.8.0.sh

. fys.build.gpaw.sh

**Note**: open64 compiler fails with::

/usr/bin/ld: /opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1/libmv.a(vcos.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/open64/4.2.1/lib/gcc-lib/x86_64-open64-linux/4.2.1/libmv.a: could not read symbols: Bad value

# only on thul # fails on thul
. fys.set.Niflheim.ifort.11.0.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.Niflheim.mkl.10.1.3.027.sh

. fys.build.gpaw.sh

# only on thul # fails on thul
. fys.set.Niflheim.gfortran43.4.3.2.sh
. fys.set.Niflheim.openmpi.1.3.3.sh
. fys.set.Niflheim.mkl.10.1.3.027.sh

. fys.build.gpaw.sh

Asap

On a custom system build the following RPMS:

. fys.set.Asap.default.sh

(rpm_prefix=/usr && . fys.build.Asap.sh)

On Niflheim build the following RPMS:

# only on fjorm
. fys.set.Niflheim.Asap.3.2.6.pathscale.3.2.openmpi.1.3.3.sh

. fys.build.Asap.sh

# only on thul
. fys.set.Niflheim.Asap.3.2.6.ifort.11.0.openmpi.1.3.3.sh

. fys.build.Asap.sh

abinit

Note this package is not relocatable!

abinit-pseudopotentials-1.tar.gz

  • abinit pseudopotentials

    On a custom system build the following RPMS:

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.abinit-pseudopotentials.1.sh)

    On Niflheim build the following RPMS:

    . fys.build.abinit-pseudopotentials.1.sh
  • abinit

    abinit is a Density Functional Theory (DFT) package with pseudopotentials and a planewave basis.

    On a custom system build the following RPMS:

    . fys.set.abinit.5.4.4p.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && . fys.build.abinit.5.4.4p.sh)

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.abinit.5.4.4p.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.fftw3.sh
    
    . fys.build.abinit.5.4.4p.sh

siesta

siesta-pseudopotentials-2.tar.gz

  • siesta pseudopotentials

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget --no-check-certificate \
    "https://wiki.fysik.dtu.dk/niflheim/Cluster_software_-_RPMS?action=AttachFile&do=get&target=siesta-pseudopotentials-2.tar.gz" \
    -O siesta-pseudopotentials-2.tar.gz
    cd ~/rpmbuild/SPECS
    
     rpmbuild -bb ${modules_usage} --with default_version siesta-pseudopotentials.spec
  • siesta

    siesta (Spanish Initiative for Electronic Simulations with Thousands of Atoms) is both a method and its computer program implementation, to perform electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids.

    Build the following RPMS:

    cd ~/rpmbuild/SPECS
    
    major_version=2
    version1=0
    
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    
    rpmbuild --bb  --with major_version=${major_version} --with version1=${version1} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/siesta${major_version}/${major_version}.${version1}/${release} siesta.spec

espresso

Note this package is not relocatable!

quantum espresso

  • espresso pseudopotentials

    On a custom system build the following RPMS:

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.espresso_pp.sh)

    On Niflheim build the following RPMS:

    . fys.build.espresso_pp.sh
  • espresso

    Note March 04 2010: version 4.0.5 does not compile with gfortran >= 4.4 (?)

    Note March 04 2010: version 4.1.2 results in and "STOP 1" status for tests if EXX is enabled

    On a custom system build the following RPMS:

    . fys.set.espresso.4.1.2.default.sh
    
    (rpm_prefix=/usr && . fys.build.espresso.sh)
    
    #  March 06 2010 fc12, el5 with atlas gives for atom-lsda.in: On entry to DSYGVX parameter number 20 had an illegal value
    . fys.set.espresso.4.1.2.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && . fys.build.espresso.sh)

    On Niflheim build the following RPMS:

    # version used with yambo 3.2.1.426M - enable EXX in the spec file!
    . fys.set.Niflheim.espresso.4.0.5.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    
    . fys.build.espresso.sh

yambo

  • yambo

    yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf. This build creates interfaces to abinit and PWscf.

    On a custom system build the following RPMS:

    . fys.set.yambo.3.2.1.448.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && . fys.build.yambo.sh)

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.yambo.3.2.1.448.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    
    . fys.build.yambo.sh
    
    # special yambo 3.2.1.426M
    . fys.set.Niflheim.yambo.3.2.1.426M.gfortran43.4.3.2.openmpi.1.3.3.acml.4.3.0.acml.4.3.0.sh
    
    . fys.build.yambo.sh

elk

elk

  • elk species

    Note this package is not relocatable!

    On a custom system build the following RPMS:

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.elk-species.1.0.0.sh)

    On Niflheim build the following RPMS:

    . fys.build.elk-species.1.0.0.sh
  • elk

    On a custom system build the following RPMS:

    . fys.set.gfortran.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && thread_mode=mp && . fys.build.elk.1.0.0.sh)

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.elk.1.0.0.sh)

vtk

  • cmake

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget http://www.cmake.org/files/v2.6/cmake-2.6.4.tar.gz
    cd ~/rpmbuild/SOURCES&& wget "http://downloads.sourceforge.net/project/xmlrpc-c/Xmlrpc-c Super Stable/1.06.35/xmlrpc-c-1.06.35.tgz"
    cd ~/rpmbuild/SPECS
    
    rpmbuild -bb --with bootstrap --without gui cmake.spec  # install the resulting RPM
    rpmbuild -bb xmlrpc-c.spec # install the resulting RPM
    rpm -e cmake
    rpmbuild -bb --without gui cmake.spec # install the resulting RPM
  • vtkdata

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget http://www.vtk.org/files/release/5.4/vtkdata-5.4.2.tar.gz
    cd ~/rpmbuild/SPECS
    
    rpmbuild -bb --with version1=4 --with version2=2 ${modules_usage} --with default_version=1 \
             --with prefix=/opt/vtkdata/5.4.2/1.${disttag} vtkdata.spec
  • vtk

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget http://www.vtk.org/files/release/5.4/vtk-5.4.2.tar.gz
    cd ~/rpmbuild/SPECS
    
    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    
    rpmbuild -bb   --without qt4 --with version1=4 --with version2=2 \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/vtk/5.4.2/1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version} vtk.spec

octopus

  • octopus

    Note March 15 2010: gfortran 4.1.2 on el5: Segmentation fault

    On a custom system build the following RPMS:

    . fys.set.octopus.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && . fys.build.octopus.3.2.0.sh)

    On Niflheim build the following RPMS:

    . fys.set.Niflheim.gfortran43.4.3.2.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.netcdf4.4.0.1.sh
    . fys.set.Niflheim.fftw3.3.2.1.sh
    . fys.set.blas.acml.4.3.0.sh
    . fys.set.lapack.acml.sh
    . fys.set.gsl.default.sh
    . fys.set.arpack.default.sh
    
    . fys.build.octopus.3.2.0.sh

TAU

  • pdtoolkit

    Program Database Toolkit is a framework for analyzing source code written in several programming languages and for making rich program knowledge accessible to developers of static and dynamic analysis tools. PDT is required by TAU.

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget http://www.cs.uoregon.edu/research/paracomp/pdtoolkit/Download/pdt_latest.tar.gz
    mv pdt_latest.tar.gz `tar ztf pdt_latest.tar.gz | head -1 | cut -d "/" -f 2`.tar.gz
    cd ~/rpmbuild/SPECS
    
    major_version=3
    version1=14
    version2=1
    
    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    
    rpmbuild -bb   --with version1=${version1} --with version2=${version2} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/pdtoolkit/${major_version}.${version1}.${version2}/1.${disttag}.${compiler}.${compiler_version}.python${python_version} pdtoolkit.spec
    
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    
    !rpmbuild # as rpmbuild above
  • tau

    TAU Performance System® is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, Python.

    Build the following RPMS:

    cd ~/rpmbuild/SOURCES&& wget http://www.cs.uoregon.edu/research/paracomp/tau/tauprofile/dist/tau_latest.tar.gz
    mv tau_latest.tar.gz `tar ztf tau_latest.tar.gz | head -1 | cut -d "/" -f 1`.tar.gz
    cd ~/rpmbuild/SPECS
    
    major_version=2
    version1=18
    version2=2p4
    
    module load PDTOOLKIT/3.14.1-1.el5.fys.gfortran.4.1.2.python${python_version}
    pdt_rootdir=${PDTROOT}
    
    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}
    
    rpmbuild -bb   -with version1=${version1} --with version2=${version2} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with pdt_rootdir=${pdt_rootdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with python_version=${python_version} \
                   --with prefix=/opt/tau/${major_version}.${version1}.${version2}/${release} tau.spec
    
    module load PDTOOLKIT/3.14.1-1.el5.fys.gfortran43.4.3.2.python${python_version}
    pdt_rootdir=${PDTROOT}
    
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    release=1.${disttag_network}.${compiler}.${compiler_version}.python${python_version}.openmpi.${openmpi_version}
    
    !rpmbuild # as rpmbuild above

vasp

Installed with restricted access under vasp UNIX group (needs te be created in advance).

  • vasp potentials

    Download potpaw/potcar.date.tar, potpaw_GGA/potcar.date.tar, and potpaw_PBE/potcar.date.tar to ~/rpmbuild/SOURCES. Create links to the downloaded files so the files are named explicitly with the string date (not the actual dates), for example:

    ls -al ~/rpmbuild/SOURCES/potpaw_*potcar.date.tar
    lrwxrwxrwx 1 rpmbuild campnone   29 Sep 25 17:15 ../SOURCES/potpaw_GGA_potcar.date.tar -> potpaw_GGA/potcar.06Feb03.tar
    lrwxrwxrwx 1 rpmbuild campnone   29 Sep 25 17:14 ../SOURCES/potpaw_PBE_potcar.date.tar -> potpaw_PBE/potcar.05Feb03.tar
    lrwxrwxrwx 1 rpmbuild campnone   25 Sep 25 17:14 ../SOURCES/potpaw_potcar.date.tar -> potpaw/potcar.05Feb03.tar

    Build the following RPMS:

    cd ~/rpmbuild/SPECS
    
    rpmbuild -bb ${modules_usage} --with default_version vasp-potpaw.spec
  • vasp

    vasp. Download vasp.5.X.tar.gz and vasp.5.lib.tar.gz to ~/rpmbuild/SOURCES. Optionally download also vtstcode.tar.gz from http://theory.cm.utexas.edu/vtsttools/downloads/.

    Build the following RPMS:

    cd ~/rpmbuild/SPECS
    
    major_version=5
    version1=2
    # Compile with VASP TST library: http://theory.cm.utexas.edu/vtsttools/downloads/
    tst=false # or true
    
    if [ "$tst" == "false" ];
    then
       vasp_tst='.'
    else
       vasp_tst='.tst.'
    fi
    
    compiler=gfortran
    compiler_version=4.1.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.0.1
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.0.1
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    #scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.blas.3.0.37.el5.lapack.3.0.37.el5/lib64
    release=1.${disttag_network}${vasp_tst}${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}
    
    rpmbuild --bb  --with tst=${tst} --with major_version=${major_version} --with version1=${version1} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with fftw=${fftw} --with fftw_libdir=${fftw_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with netcdf=${netcdf} --with netcdf_includedir=${netcdf_includedir} --with netcdf_libdir=${netcdf_libdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/vasp/${major_version}.${version1}/${release} vasp.spec
    
    compiler=gfortran43 # 25 Sep 2009: segmentation fault when compiling dipol.f90
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    fftw=fftw3
    fftw_libdir=/opt/${fftw}/3.2.1/12.${disttag}.${compiler}.${compiler_version}/lib64
    netcdf=netcdf4
    netcdf_includedir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/include
    netcdf_libdir=/opt/${netcdf}/4.0.1/1.${disttag}.${compiler}.${compiler_version}/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}${vasp_tst}${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}.${fftw}
    
    !rpmbuild # as rpmbuild above

exciting

  • exciting species

    Note this package is not relocatable!

    On a custom system build the following RPMS:

    (default_version_usage="--with default_version" && modules_usage="--without modules" && . fys.build.exciting-species.9.10.sh)

    On Niflheim build the following RPMS:

    . fys.build.exciting-species.9.10.sh
  • exciting

    Note: currently (24 Nov 2009) perl-XML-SAX-0.14-5 is broken https://bugzilla.redhat.com/show_bug.cgi?id=438291 on EL5; if exciting's tests complain about:

    could not find ParserDetails.ini

    do as root:

    perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"

    On a custom system build the following RPMS:

    # March 12 2010: build fails on el5 with gfortran 4.1.2 and 4.3.2
    . fys.set.gfortran.default.sh
    . fys.set.openmpi.default.sh
    . fys.set.arpack.default.sh
    . fys.set.atlas.default.sh
    
    (rpm_prefix=/usr && thread_mode=nomp && . fys.build.exciting.9.10.sh)

    On Niflheim build the following RPMS:

    # only on fjorm
    . fys.set.Niflheim.g95.0.91.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.blas.acml.4.3.0_mp.sh
    . fys.set.lapack.acml.sh
    
    (thread_mode=mp && . fys.build.exciting.9.10.sh)
    
    # only on thul
    . fys.set.Niflheim.ifort.11.0.sh
    . fys.set.Niflheim.openmpi.1.3.3.sh
    . fys.set.Niflheim.mkl.10.1.3.027.sh
    
    (thread_mode=nomp && . fys.build.exciting.9.10.sh)

fleur

  • fleur

    fleur. Download the source to ~/rpmbuild/SOURCES.

    Build the following RPMS:

    cd ~/rpmbuild/SPECS
    
    major_version=25
    version1=g
    if [ "$version1" == "None" ];
    then
       fleur_version=${major_version}
    else
       fleur_version=${major_version}.${version1}
    fi
    
    compiler=gfortran43 #
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=blacs
    blacsdir=/opt/blacs/1.1/24.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}/lib64
    scalapack=scalapack
    scalapackdir=/opt/scalapack/1.8.0/1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}/lib64
    release=1.${disttag_network}.${compiler}.${compiler_version}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    
    rpmbuild --bb  --with major_version=${major_version} --with version1=${version1} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with parallel=1 --with openmpi=openmpi --with openmpi_version=${openmpi_version} \
                   --with ompi_libdir=${ompi_libdir} --with ompi_includedir=${ompi_includedir} --with ompi_bindir=${ompi_bindir} \
                   --with blacs=${blacs} --with blacsdir=${blacsdir} \
                   --with scalapack=${scalapack} --with scalapackdir=${scalapackdir} \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/fleur/${fleur_version}/${release} fleur.spec
    
    module load g95 # only on fjorm
    
    compiler=g95 # only on fjorm
    compiler_version=0.91
    compiler_libdir=/opt/g95/0.91/lib/gcc-lib/x86_64-unknown-linux-gnu/4.0.3
    compiler_bindir=/opt/g95/0.91/bin
    blas=blas
    blas_version=3.0.37.el5
    blasdir=/usr/lib64
    lapack=lapack
    lapack_version=${blas_version}
    lapackdir=/usr/lib64
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=none
    scalapack=none
    release=1.${disttag_network}.${compiler}.${compiler_version}.${thread_mode}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    
    !rpmbuild # as rpmbuild above
    
    module load ifort # only on thul
    
    compiler=ifort # only on thul
    compiler_version=11.0
    compiler_libdir=/opt/intel/Compiler/11.0/083/lib/intel64
    compiler_bindir=/opt/intel/Compiler/11.0/083/bin/intel64
    blas=mkl
    blas_version=10.1.3.027
    blasdir=/opt/intel/${blas}/${blas_version}/lib/em64t
    lapack=mkl_lapack
    lapack_version=${blas_version}
    lapackdir=${blasdir}
    openmpi_version=1.3.3
    ompi_libdir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/lib64
    ompi_includedir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/include
    ompi_bindir=/opt/openmpi/${openmpi_version}-1.${disttag_network}.${compiler}.${compiler_version}/bin
    blacs=mkl
    blacsdir=${blasdir}
    scalapack=mkl
    scalapackdir=${blasdir}
    release=1.${disttag_network}.${compiler}.${compiler_version}.${thread_mode}.openmpi.${openmpi_version}.${blas}.${blas_version}.${lapack}.${lapack_version}
    
    !rpmbuild # as rpmbuild above

gulp

Installed with restricted access under gulp UNIX group (needs te be created in advance).

  • gulp

    gulp. Download gulp.3.4.source.tar.gz ~/rpmbuild/SOURCES.

    Build the following RPMS:

    major_version=3
    version1=4
    
    cd ~/rpmbuild/SPECS
    thread_mode=nomp
    
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64/lib
    release=1.${disttag}.${compiler}.${compiler_version}.${thread_mode}.${blas}.${blas_version}.${lapack}.${lapack_version}
    
    rpmbuild --bb  --with major_version=${major_version} --with version1=${version1} \
                   --with blas=${blas} --with blas_version=${blas_version} --with blasdir=${blasdir} \
                   --with compiler=${compiler} --with compiler_version=${compiler_version} \
                   --with compiler_bindir=${compiler_bindir} --with compiler_libdir=${compiler_libdir} \
                   --with lapack=${lapack} --with lapack_version=${lapack_version} --with lapackdir=${lapackdir} \
                   --with thread_mode=${thread_mode} --with parallel=1 \
                   ${modules_usage} --with default_version=1 \
                   --with system=${rpm_platform} \
                   --with prefix=/opt/gulp/${major_version}.${version1}/${release} gulp.spec
    
    # multithreaded
    thread_mode=mp
    compiler=gfortran43
    compiler_version=4.3.2
    compiler_libdir=/usr/lib64
    compiler_bindir=/usr/bin
    blas=acml
    blas_version=4.3.0
    blasdir=/opt/${blas}/${blas_version}/${compiler}64_${thread_mode}/lib
    lapack=acml
    lapack_version=4.3.0
    lapackdir=/opt/${lapack}/${lapack_version}/${compiler}64_${thread_mode}/lib
    release=1.${disttag}.${compiler}.${compiler_version}.${thread_mode}.${blas}.${blas_version}.${lapack}.${lapack_version}
    
    !rpmbuild # as rpmbuild above

cmr

Computational Materials Repository.

On a custom system build the following RPMS:

(rpm_prefix=/usr && rpmbuild -bb ${default_version_usage} ${modules_usage} cmr.spec)

On Niflheim build the following RPMS:

module load DACAPO
module load GPAW
module unload ASE3
module load ASE3
module load SCIENTIFICPYTHON/2.8

version_svn=51
cd ~/rpmbuild/SOURCES && python cmr_release.py
cd ~/rpmbuild/SPECS
rpmbuild -bb --with version_svn=${version_svn} \
             ${default_version_usage} ${modules_usage} --with cmr_repository="/home/niflheim/repository/db" \
             --with prefix=/opt/cmr/${version_svn}/1.${disttag}.python${python_version} cmr.spec

Testing packages

Note this section is outdated.

Test dacapo installation (as normal user!).

If you use modules:

module load campos-dacapo # fulfill all dependencies requested by module
ulimit -s 500000 # dacapo needs a large stack

Test with (make sure that /scratch/$USER exists):

cp -r `rpm -ql campos-dacapo-python | grep "share/campos-dacapo-python$"` /tmp
cd /tmp/campos-dacapo-python/Tests
python test.py 2>&1 | tee test.log

It can take up to 1 day. Please consider disabling these "long" tests in test.py:

tests.remove('../Examples/Wannier-ethylene.py')
tests.remove('../Examples/Wannier-Pt4.py')
tests.remove('../Examples/Wannier-Ptwire.py')
tests.remove('../Examples/Wannier-Fe-bcc.py')
tests.remove('../Examples/transport_1dmodel.py')

Note all vtk related tests will fail.

Test gpaw installation (as normal user!):

If you use modules:

module load campos-gpaw # fulfill all dependencies requested by module

Test with:

cp -r `rpm -ql campos-gpaw | grep "share/campos-gpaw/test$"` /tmp/test.gpaw.$$
cd /tmp/test.gpaw.*
python test.py 2>&1 | tee test.log

It takes about 20 minutes.

Niflheim: Cluster_software_-_RPMS (last edited 2015-07-02 11:28:20 by OleHolmNielsen)