Korištenje

Dostupne verzije i pripadajući moduli:

VerzijaModul
22.1.0GPAW/22.1.0

Primjer korištenja:

gpaw info
$ module load GPAW/22.1.0
$ gpaw info
 -------------------------------------------------------------------------------------------------------------
| python-3.8.12     /apps/virtenv/gpaw22.1.0/bin/python3.8                                                    |
| gpaw-22.1.0       /apps/virtenv/gpaw22.1.0/lib/python3.8/site-packages/gpaw/                                |
| ase-3.22.1        /apps/virtenv/gpaw22.1.0/lib/python3.8/site-packages/ase/                                 |
| numpy-1.22.2      /apps/virtenv/gpaw22.1.0/lib/python3.8/site-packages/numpy/                               |
| scipy-1.8.0       /apps/virtenv/gpaw22.1.0/lib/python3.8/site-packages/scipy/                               |
| libxc-5.2.2       yes                                                                                       |
| _gpaw             /apps/virtenv/gpaw22.1.0/lib/python3.8/site-packages/_gpaw.cpython-38-x86_64-linux-gnu.so |
| MPI enabled       yes                                                                                       |
| OpenMP enabled    no                                                                                        |
| scalapack         yes                                                                                       |
| Elpa              no                                                                                        |
| FFTW              yes                                                                                       |
| libvdwxc          yes                                                                                       |
| PAW-datasets (1)  /apps/virtenv/gpaw22.1.0/paw-datasets/gpaw-setups-0.9.20000/                              |
 -------------------------------------------------------------------------------------------------------------

Primjer skripte za opis posla:

gpaw-parallel.sge
#$ -N gpaw-parallel
#$ -q p28.q
#$ -pe *mpi 14
#$ -cwd

module load GPAW/22.1.0

mpirun --mca btl_openib_allow_ib true -hostfile $TMPDIR/machines -np $NSLOTS gpaw python Ag3Au_test_srce.py 

Napomena

Aplikacija je instalirana i konfigurirana u Python virtualnom okruženju kojeg korisnik može proširiti sa svojim proizvoljnim Python aplikacijama. Nakon učitavanja modula, korisnik dodatne aplikacije instalira s:

conda create --prefix $LOCALPKGS python=3.8
conda install --prefix $LOCALPKGS potrebni-python-pkg
ili 
pip install --prefix $LOCALPKGS potrebni-python-pkg

Instalacija

Programski paket GPAW je pripremljen s kompajlerom Intel 2019,  Intel MKL Scalapack i MPI implementacijom OpenMPI 4.1 u Conda okruženju s Python 3.8. Instalacija je obavljena pripremom pomoćnih biblioteka na koje se paket oslanja, dopremanjem izvornog koda, učitavanjem potrebnih modula za kompajler i MPI paralelizaciju te izgradnjom Python wheel paketa koji se onda instalira u Conda okruženje.

Priprema pomoćnih biblioteka

Libxc - 5.2.2

module load intel/2019
CC=icc FC=ifort CPPFLAGS='-std=gnu99'
./configure --prefix=/apps/virtenv/gpaw22.1.0/dependencies/libxc
--enable-shared
make install

FFTW3 - 3.3.10

module load intel/2019
CC=icc FC=ifort ./configure
--prefix=/apps/virtenv/gpaw22.1.0/dependencies/fftw3 --enable-mpi
--enable-shared
make install

ScaLAPACK - 2.2.0

CC=mpicc FC=mpif90 cmake .
-DCMAKE_INSTALL_PREFIX="/apps/virtenv/gpaw22.1.0/dependencies/scalapack"
-DBUILD_SHARED_LIBS=YES
make install

libvdwxc - 0.4.0

module load mpi/openmpi41-intel-x86_64
./configure --prefix=/apps/virtenv/gpaw22.1.0/dependencies/libvdwxc
--with-fftw3=/apps/virtenv/gpaw22.1.0/dependencies/fftw3/ --with-mpi

Kompajliranje i instalacija GPAW

Dopremanje i otpakiranje izvornog koda:

wget -c https://pypi.org/packages/source/g/gpaw/gpaw-22.1.0.tar.gz
tar -xzf gpaw-22.1.0.tar.gz

Kreiranje Conda okruženja:

conda create --prefix /apps/virtenv/gpaw22.1.0 python=3.8

Konfiguriranje pomoćnih biblioteka u siteconfig.py :

# FFTW3
if 1:
    fftwdir = '/apps/virtenv/gpaw22.1.0/dependencies/fftw3'
    include_dirs += ['{}/include/'.format(fftwdir)]
    library_dirs += ['{}/lib'.format(fftwdir)]
    libraries += ['fftw3']
# ScaLAPACK
if 1:
    scalapackdir = '/apps/virtenv/gpaw22.1.0/dependencies/scalapack/'
    libraries += ['scalapack']
    library_dirs += ['{}/lib'.format(scalapackdir)]
# Libxc:
if 1:
    xcdir = '/apps/virtenv/gpaw22.1.0/dependencies/libxc/'
    include_dirs += [xcdir + 'include']
    library_dirs += [xcdir + 'lib']
    extra_link_args += ['-Wl,-rpath={xc}/lib'.format(xc=xcdir)]
    libraries += ['xc']
# libvdwxc:
if 1:
    path = '/apps/virtenv/gpaw22.1.0/dependencies/libvdwxc/'
    extra_link_args += ['-Wl,-rpath=%s/lib' % path]
    library_dirs += ['%s/lib' % path]
    include_dirs += ['%s/include' % path]
    libraries += ['vdwxc']

Izgradnja wheel paketa i instalacija u okruženje:

source /apps/miniforge3/bin/activate
conda activate /apps/virtenv/gpaw22.1.0
python setup.py bdist_wheel
pip install dist/gpaw-22.1.0-cp38-cp38-linux_x86_64.whl
  • No labels