Dostupne verzije

verzijamodulredovipreveden s
7.0cp2k/7.0-openmpi-x86_64p28*gcc v4.8.5
8.2.0cp2k/8.2.0p28*, a16*

gcc v9.3.1


9.1.0cp2k/9.1.0p28*, a16*


Detaljnije verzije o pojedinoj konfiguraciji mogu se dobiti pozivanjem naredbe cp2k.psmp --version nakon aktivacije modula

Primjeri korištenja

Verzija 7.0

#$ -N cp2k_test
#$ -cwd
#$ -pe p28-mpi 2
module load  cp2k/7.0-openmpi-x86_64
mpirun -n $NSLOTS  cp2k.popt -i Si_bulk8.inp -o Si_bulk8.out 

Pri čemu su Si_bulk8.inp ulazni podaci, dok je Si_bulk8.out izlazna datoteka u koju se upisuje izlaz. Važno je znati da prilikom ponovnog pokretanja s istom navedenom izlaznom datotekom, novi izlaz se dopisuje u postojeću datoteku. Varijabla $NSLOTS odnosi se na broj jezgri koje program koristi, a njena vrijednost je jednaka trazenom broju jezgara.

Detaljnije upute o korištenju programa cp2k nalaze se na njihovim mrežnim stranicama.

Verzija 8.2.0 & 9.1.0

Ispod je opisan primjer podnošenja posla za jedan od službenih cp2k predložaka (H20-64)

Opisana skripta će:


#$ -N H20-64-benchmark
#$ -cwd
#$ -pe a16-mpi 4
#$ -l memory=3

# set environment
module load cp2k/8.2.0
export OMP_NUM_THREADS=1
export OMPI_MCA_btl_openib_allow_ib=1
export OMPI_MCA_orte_base_help_aggregate=0

# run H2O-64 benchmark
mpirun -np $NSLOTS cp2k.psmp -i H2O-64.inp -o H2O-64.out

Performanse

Za testiranje brzine izvođenja programa, koriste se predlošci sa cp2k stranice:

Testiranje se radilo ovisno o:

  1. broju zatraženih jezgri
  2. ograničavanju količine memorije koju cp2k koristi

U slučaju promjene broja jezgara, testiranje se odvijalo u konfiguracijama:

U slučaju ograničavanja količine memorije, testiranje se odvijalo u konfiguracijama:


U p28 redu, pri manjem broju jezgara (2 - 16) poslovi se prekidaju radi prekoračenja vremenskog ograničenja (7 dana) u nekim od predložaka (npr. H20-64-RI-MP2)


Nužno je ograničiti količinu memorije koju cp2k koristi, jer u protivnom može doći do:

  • prekoračenja dostupne memorije, koja uzrokuje prijevremeno zaustavljanje programa
  • usporavanja aplikacija ostalih korisnika na istom čvoru

Načini na koji se to može ostvariti:

  • definicijom traženog resursa u zaglavlju SGE skripte (pomoću parametra #$ -l memory=<količina GB po procesu>)
  • definicijom odgovarajućeg parametra u ulaznoj datoteci (npr. MAX_MEMORY u predlošcima H20-64-RI-MP2 i LiH-HFX)

Ovisnost o broju jezgri

Ovisnost o količini dostupne memorije