Korištenje
Dostupne verzije i pripadajući moduli:
Verzija | Modul |
---|
22.1.0 | GPAW/22.1.0 |
Primjer korištenja:
$ 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:
#$ -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 |
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 |