Sadržaj

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 informacije

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

Primjeri korištenja

Verzija 7.0

Primjer skripte
#$ -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:

  • Podnijeti posao pod imenom H20-64-benchmark i izvršiti ga u istom direktoriju
  • Izabrati paralelnu okolinu a16-mpi s 4 jezgre
  • Za svaki proces (4) zatražiti maksimalno 3 GB memorije (sveukupno 12 GB)
  • Postaviti varijable okoline:
    • OMP_NUM_THREADS = 1 (jednodretveno izvršavanje po jezgri)
    • OMPI_MCA_btl_openib_allow_ib = 1 (Infiniband)
    • OMPI_MCA_orte_base_help_aggregate=0 (onemogućavanje združivanja poruka o pogreškama)
  • Potjerati izvršnu datoteku cp2k.psmp:
    • koristeći zatraženi broj jezgara pomoću $NSLOTS
    • koristeći ulaznu datoteku H20-64.inp
    • koristeći H2O-64.out datoteku za izlaz


H2O-64-benchmark.sge
#$ -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:

  • predložak: svi
  • verzija: 8.2.0
  • redovi: a16, p28
  • paralelne okoline: *mpi, *mpisingle
  • broj jezgara: 1 - 256

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


Broj jezgri i vrijeme izvršavanja

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)


Ograničavanje memorije

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


  • No labels