Dostupne verzije
verzija | modul | redovi | preveden s |
---|---|---|---|
7.0 | cp2k/7.0-openmpi-x86_64 | p28* | gcc v4.8.5 |
8.2.0 | cp2k/8.2.0 | p28*, a16* | gcc v9.3.1 |
9.1.0 | cp2k/9.1.0 | p28*, a16* |
Detaljnije informacije
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:
- 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
#$ -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:
- broju zatraženih jezgri
- 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:
- predložak: LiH-HFX
- verzija: 8.2.0
- redovi: p28-mpi
- broj jezgara: 64
- MAX_MEMORY (ulazni podatak): 1000 - 8000 MiB (detaljnije upute na službenoj stranici)
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)