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
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