From b2700b8a7e355a8b657172e8736700a0192f8129 Mon Sep 17 00:00:00 2001 From: Guido Petretto Date: Mon, 10 Mar 2025 15:14:08 +0100 Subject: [PATCH] update abitimer --- src/pymatgen/io/abinit/abitimer.py | 20 +- tests/files/io/abinit/si_scf_v10.2.7.abo | 856 +++++++++++++++++++++++ tests/io/abinit/test_abitimer.py | 62 ++ 3 files changed, 931 insertions(+), 7 deletions(-) create mode 100644 tests/files/io/abinit/si_scf_v10.2.7.abo create mode 100644 tests/io/abinit/test_abitimer.py diff --git a/src/pymatgen/io/abinit/abitimer.py b/src/pymatgen/io/abinit/abitimer.py index d8b3ecd99b8..09102350b5f 100644 --- a/src/pymatgen/io/abinit/abitimer.py +++ b/src/pymatgen/io/abinit/abitimer.py @@ -8,6 +8,7 @@ import collections import logging import os +import re import sys import matplotlib.pyplot as plt @@ -141,7 +142,16 @@ def _read(self, fh, fname): def parse_line(line): """Parse single line.""" - name, vals = line[:25], line[25:].split() + # Assume the first element of the values is a float. Use the first + # float appearing as a split between the name and the values. + # Also only digits, "." and spaces can be present after the fist float. + match = re.search(r"\s(\d+\.\d+[-\d.\s]*)$", line) + if not match: + raise self.Error(f"Cannot properly split line in label and values: {line}") + split_index = match.start() + name = line[:split_index].rstrip() + vals = line[split_index:].strip().split() + try: ctime, cfract, wtime, wfract, ncalls, gflops = vals except ValueError: @@ -712,15 +722,11 @@ def to_table(self, sort_key="wall_time", stop=None): def get_dataframe(self, sort_key="wall_time", **kwargs): """Return a pandas DataFrame with entries sorted according to `sort_key`.""" - frame = pd.DataFrame(columns=AbinitTimerSection.FIELDS) - - for osect in self.order_sections(sort_key): - frame = frame.append(osect.to_dict(), ignore_index=True) + data = [osect.to_dict() for osect in self.order_sections(sort_key)] + frame = pd.DataFrame(data, columns=AbinitTimerSection.FIELDS) # Monkey patch frame.info = self.info - frame.cpu_time = self.cpu_time - frame.wall_time = self.wall_time frame.mpi_nprocs = self.mpi_nprocs frame.omp_nthreads = self.omp_nthreads frame.mpi_rank = self.mpi_rank diff --git a/tests/files/io/abinit/si_scf_v10.2.7.abo b/tests/files/io/abinit/si_scf_v10.2.7.abo new file mode 100644 index 00000000000..4cd0cd587dd --- /dev/null +++ b/tests/files/io/abinit/si_scf_v10.2.7.abo @@ -0,0 +1,856 @@ + +.Version 10.2.7-d of ABINIT, released Dec 2025. +.(MPI version, prepared for a arm_darwin24.2.0_gnu14.2 computer) + +.Copyright (C) 1998-2025 ABINIT group . + ABINIT comes with ABSOLUTELY NO WARRANTY. + It is free software, and you are welcome to redistribute it + under certain conditions (GNU General Public License, + see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt). + + ABINIT is a project of the Universite Catholique de Louvain, + Corning Inc. and other collaborators, see ~abinit/doc/developers/contributors.txt . + Please read https://docs.abinit.org/theory/acknowledgments for suggested + acknowledgments of the ABINIT effort. + For more information, see https://www.abinit.org . + +.Starting date : Mon 10 Mar 2025. +- ( at 14h28 ) + +- input file -> /tmp/abinit_example/test/w0/t0/run.abi +- output file -> /tmp/abinit_example/test/w0/t0/run.abo +- root for input files -> indata/in +- root for output files -> outdata/out + + Symmetries : space group Fd -3 m (#227); Bravais cF (face-center cubic) +================================================================================ + Values of the parameters that define the memory need of the present run + intxc = 0 ionmov = 0 iscf = 7 lmnmax = 2 + lnmax = 2 mgfft = 15 mpssoang = 3 mqgrid = 3001 + natom = 2 nloc_mem = 1 nspden = 1 nspinor = 1 + nsppol = 1 nsym = 48 n1xccc = 2501 ntypat = 1 + occopt = 1 xclevel = 1 +- mband = 4 mffmem = 1 mkmem = 8 + mpw = 108 nfft = 3375 nkpt = 8 +================================================================================ +P This job should need less than 1.756 Mbytes of memory. + Rough estimation (10% accuracy) of disk space for files : +_ WF disk file : 0.055 Mbytes ; DEN or POT disk file : 0.028 Mbytes. +================================================================================ + +-------------------------------------------------------------------------------- +------------- Echo of variables that govern the present computation ------------ +-------------------------------------------------------------------------------- +- +- outvars: echo of selected default values +- iomode0 = 0 , fftalg0 =312 , wfoptalg0 = 0 +- +- outvars: echo of global parameters not present in the input file +- max_nthreads = 1 +- + -outvars: echo values of preprocessed input variables -------- +- iomode 1 + acell 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 Bohr + amu 2.80855000E+01 + bandpp 4 + densfor_pred 6 + ecut 4.00000000E+00 Hartree +- fftalg 312 + istwfk 2 0 1 0 0 0 1 0 + kpt 0.00000000E+00 0.00000000E+00 0.00000000E+00 + 2.50000000E-01 0.00000000E+00 0.00000000E+00 + 5.00000000E-01 0.00000000E+00 0.00000000E+00 + 2.50000000E-01 2.50000000E-01 0.00000000E+00 + 5.00000000E-01 2.50000000E-01 0.00000000E+00 + -2.50000000E-01 2.50000000E-01 0.00000000E+00 + 5.00000000E-01 5.00000000E-01 0.00000000E+00 + -2.50000000E-01 5.00000000E-01 2.50000000E-01 + kptrlatt 4 0 0 0 4 0 0 0 4 + kptrlen 2.92300919E+01 +P mkmem 8 + natom 2 + nband 4 + ngfft 15 15 15 + nkpt 8 + nstep 1 + nsym 48 + ntypat 1 + occ 2.000000 2.000000 2.000000 2.000000 + ortalg -2 + paral_kgb 1 + rprim 6.3285005287E+00 0.0000000000E+00 3.6537614838E+00 + 2.1095001762E+00 5.9665675181E+00 3.6537614838E+00 + 0.0000000000E+00 0.0000000000E+00 7.3075229676E+00 + spgroup 227 + symrel 1 0 0 0 1 0 0 0 1 -1 0 0 0 -1 0 0 0 -1 + 0 -1 1 0 -1 0 1 -1 0 0 1 -1 0 1 0 -1 1 0 + -1 0 0 -1 0 1 -1 1 0 1 0 0 1 0 -1 1 -1 0 + 0 1 -1 1 0 -1 0 0 -1 0 -1 1 -1 0 1 0 0 1 + -1 0 0 -1 1 0 -1 0 1 1 0 0 1 -1 0 1 0 -1 + 0 -1 1 1 -1 0 0 -1 0 0 1 -1 -1 1 0 0 1 0 + 1 0 0 0 0 1 0 1 0 -1 0 0 0 0 -1 0 -1 0 + 0 1 -1 0 0 -1 1 0 -1 0 -1 1 0 0 1 -1 0 1 + -1 0 1 -1 1 0 -1 0 0 1 0 -1 1 -1 0 1 0 0 + 0 -1 0 1 -1 0 0 -1 1 0 1 0 -1 1 0 0 1 -1 + 1 0 -1 0 0 -1 0 1 -1 -1 0 1 0 0 1 0 -1 1 + 0 1 0 0 0 1 1 0 0 0 -1 0 0 0 -1 -1 0 0 + 1 0 -1 0 1 -1 0 0 -1 -1 0 1 0 -1 1 0 0 1 + 0 -1 0 0 -1 1 1 -1 0 0 1 0 0 1 -1 -1 1 0 + -1 0 1 -1 0 0 -1 1 0 1 0 -1 1 0 0 1 -1 0 + 0 1 0 1 0 0 0 0 1 0 -1 0 -1 0 0 0 0 -1 + 0 0 -1 0 1 -1 1 0 -1 0 0 1 0 -1 1 -1 0 1 + 1 -1 0 0 -1 1 0 -1 0 -1 1 0 0 1 -1 0 1 0 + 0 0 1 1 0 0 0 1 0 0 0 -1 -1 0 0 0 -1 0 + -1 1 0 -1 0 0 -1 0 1 1 -1 0 1 0 0 1 0 -1 + 0 0 1 0 1 0 1 0 0 0 0 -1 0 -1 0 -1 0 0 + 1 -1 0 0 -1 0 0 -1 1 -1 1 0 0 1 0 0 1 -1 + 0 0 -1 1 0 -1 0 1 -1 0 0 1 -1 0 1 0 -1 1 + -1 1 0 -1 0 1 -1 0 0 1 -1 0 1 0 -1 1 0 0 + timopt -1 + tnons 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + tolvrs 1.00000000E-04 + typat 1 1 + wfoptalg 114 + wtk 0.01563 0.12500 0.06250 0.09375 0.37500 0.18750 + 0.04688 0.09375 + xangst 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 1.1162994148E+00 7.8934288602E-01 1.9334873029E+00 + xcart 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 2.1095001762E+00 1.4916418795E+00 3.6537614838E+00 + xred 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 2.5000000000E-01 2.5000000000E-01 2.5000000000E-01 + znucl 14.00000 + +================================================================================ + + chkinp: Checking input parameters for consistency. + +================================================================================ +== DATASET 1 ================================================================== +- mpi_nproc: 1, omp_nthreads: 1 (-1 if OMP is not activated) + + +--- !DatasetInfo +iteration_state: {dtset: 1, } +dimensions: {natom: 2, nkpt: 8, mband: 4, nsppol: 1, nspinor: 1, nspden: 1, mpw: 108, } +cutoff_energies: {ecut: 4.0, pawecutdg: -1.0, } +electrons: {nelect: 8.00000000E+00, charge: 0.00000000E+00, occopt: 1.00000000E+00, tsmear: 1.00000000E-02, } +meta: {optdriver: 0, ionmov: 0, optcell: 0, iscf: 7, paral_kgb: 1, } +... + + Exchange-correlation functional for the present dataset will be: + LDA: new Teter (4/93) with spin-polarized option - ixc=1 + Citation for XC functional: + S. Goedecker, M. Teter, J. Huetter, PRB 54, 1703 (1996) + + Real(R)+Recip(G) space primitive vectors, cartesian coordinates (Bohr,Bohr^-1): + R(1)= 6.3285005 0.0000000 3.6537615 G(1)= 0.1580153 -0.0558669 0.0000000 + R(2)= 2.1095002 5.9665675 3.6537615 G(2)= 0.0000000 0.1676006 0.0000000 + R(3)= 0.0000000 0.0000000 7.3075230 G(3)= -0.0790077 -0.0558669 0.1368453 + Unit cell volume ucvol= 2.7592787E+02 bohr^3 + Angles (23,13,12)= 6.00000000E+01 6.00000000E+01 6.00000000E+01 degrees + + getcut: wavevector= 0.0000 0.0000 0.0000 ngfft= 15 15 15 + ecut(hartree)= 4.000 => boxcut(ratio)= 2.13879 + +--- Pseudopotential description ------------------------------------------------ +- pspini: atom type 1 psp file is /abipy/abipy/data/pseudos/14si.pspnc +- pspatm: opening atomic psp file /abipy/abipy/data/pseudos/14si.pspnc +- Troullier-Martins psp for element Si Thu Oct 27 17:31:21 EDT 1994 +- 14.00000 4.00000 940714 znucl, zion, pspdat + 1 1 2 2 2001 0.00000 pspcod,pspxc,lmax,lloc,mmax,r2well + 0 5.907 14.692 1 2.0872718 l,e99.0,e99.9,nproj,rcpsp + 0.00000000 0.00000000 0.00000000 0.00000000 rms, ekb1, ekb2, epsatm + 1 2.617 4.181 1 2.0872718 l,e99.0,e99.9,nproj,rcpsp + 0.00000000 0.00000000 0.00000000 0.00000000 rms, ekb1, ekb2, epsatm + 2 0.000 0.000 0 2.0872718 l,e99.0,e99.9,nproj,rcpsp + 0.00000000 0.00000000 0.00000000 0.00000000 rms, ekb1, ekb2, epsatm + 1.80626423934776 0.22824404341771 1.17378968127746 rchrg,fchrg,qchrg + pspatm : epsatm= 1.43386982 + --- l ekb(1:nproj) --> + 0 3.287949 + 1 1.849886 + pspatm: atomic psp has been read and splines computed + + 2.29419171E+01 ecore*ucvol(ha*bohr**3) +-------------------------------------------------------------------------------- + +_setup2: Arith. and geom. avg. npw (full set) are 105.234 105.208 + +================================================================================ + +--- !BeginCycle +iteration_state: {dtset: 1, } +solver: {iscf: 7, nstep: 1, nline: 4, wfoptalg: 114, } +tolerances: {tolvrs: 1.00E-04, } +... + + iter Etot(hartree) deltaE(h) residm vres2 + ETOT 1 -8.8253312087389 -8.825E+00 1.477E-04 2.108E+00 + + Cartesian components of stress tensor (hartree/bohr^3) + sigma(1 1)= 1.12422964E-04 sigma(3 2)= 0.00000000E+00 + sigma(2 2)= 1.12422964E-04 sigma(3 1)= 0.00000000E+00 + sigma(3 3)= 1.12422964E-04 sigma(2 1)= 2.31104488E-15 + + + scprqt: WARNING - + nstep= 1 was not enough SCF cycles to converge; + potential residual= 2.108E+00 exceeds tolvrs= 1.000E-04 + + +--- !ResultsGS +iteration_state: {dtset: 1, } +comment : Summary of ground state results +lattice_vectors: +- [ 6.3285005, 0.0000000, 3.6537615, ] +- [ 2.1095002, 5.9665675, 3.6537615, ] +- [ 0.0000000, 0.0000000, 7.3075230, ] +lattice_lengths: [ 7.30752, 7.30752, 7.30752, ] +lattice_angles: [ 60.000, 60.000, 60.000, ] # degrees, (23, 13, 12) +lattice_volume: 2.7592787E+02 +convergence: {deltae: -8.825E+00, res2: 2.108E+00, residm: 1.477E-04, diffor: null, } +etotal : -8.82533121E+00 +entropy : 0.00000000E+00 +fermie : 1.81053867E-01 +cartesian_stress_tensor: # hartree/bohr^3 +- [ 1.12422964E-04, 2.31104488E-15, 0.00000000E+00, ] +- [ 2.31104488E-15, 1.12422964E-04, 0.00000000E+00, ] +- [ 0.00000000E+00, 0.00000000E+00, 1.12422964E-04, ] +pressure_GPa: -3.3076E+00 +xred : +- [ 0.0000E+00, 0.0000E+00, 0.0000E+00, Si] +- [ 2.5000E-01, 2.5000E-01, 2.5000E-01, Si] +cartesian_forces: # hartree/bohr +- [ 1.14264429E-30, 2.35046261E-31, 1.04353492E-30, ] +- [ -1.14264429E-30, -2.35046261E-31, -1.04353492E-30, ] +force_length_stats: {min: 1.56519898E-30, max: 1.56519898E-30, mean: 1.56519898E-30, } +... + + Integrated electronic density in atomic spheres: + ------------------------------------------------ + Atom Sphere_radius Integrated_density + 1 2.00000 1.63062890 + 2 2.00000 1.79133048 +================================================================================ + + ----iterations are completed or convergence reached---- + + Mean square residual over all n,k,spin= 49.491E-07; max= 14.774E-05 + reduced coordinates (array xred) for 2 atoms + 0.000000000000 0.000000000000 0.000000000000 + 0.250000000000 0.250000000000 0.250000000000 + rms dE/dt= 1.2363E-29; max dE/dt= 2.1562E-29; dE/dt below (all hartree) + 1 -0.000000000000 0.000000000000 -0.000000000000 + 2 0.000000000000 0.000000000000 0.000000000000 + + cartesian coordinates (angstrom) at end: + 1 0.00000000000000 0.00000000000000 0.00000000000000 + 2 1.11629941477486 0.78934288602298 1.93348730285094 + + cartesian forces (hartree/bohr) at end: + 1 0.00000000000000 0.00000000000000 0.00000000000000 + 2 -0.00000000000000 -0.00000000000000 -0.00000000000000 + frms,max,avg= 9.0366805E-31 1.1426443E-30 0.000E+00 0.000E+00 0.000E+00 h/b + + cartesian forces (eV/Angstrom) at end: + 1 0.00000000000000 0.00000000000000 0.00000000000000 + 2 -0.00000000000000 -0.00000000000000 -0.00000000000000 + frms,max,avg= 4.6468476E-29 5.8757127E-29 0.000E+00 0.000E+00 0.000E+00 e/A + length scales= 1.000000000000 1.000000000000 1.000000000000 bohr + = 0.529177208590 0.529177208590 0.529177208590 angstroms + prteigrs : about to open file outdata/out_EIG + Fermi (or HOMO) energy (hartree) = 0.18105 Average Vxc (hartree)= -0.34704 + Eigenvalues (hartree) for nkpt= 8 k points: + kpt# 1, nband= 4, wtk= 0.01563, kpt= 0.0000 0.0000 0.0000 (reduced coord) + -0.24068 0.18053 0.18054 0.18105 + prteigrs : prtvol=0 or 1, do not print more k-points. + + +--- !EnergyTerms +iteration_state : {dtset: 1, } +comment : Components of total free energy in Hartree +kinetic : 3.01052775625416E+00 +hartree : 6.10391345455013E-01 +xc : -3.54581283797393E+00 +Ewald energy : -8.33998922541333E+00 +psp_core : 8.31446171103992E-02 +local_psp : -2.67314670785037E+00 +non_local_psp : 2.02955384367917E+00 +total_energy : -8.82533120873888E+00 +total_energy_eV : -2.40149475212632E+02 +band_energy : 3.18116290669281E-02 +... + + + Cartesian components of stress tensor (hartree/bohr^3) + sigma(1 1)= 1.12422964E-04 sigma(3 2)= 0.00000000E+00 + sigma(2 2)= 1.12422964E-04 sigma(3 1)= 0.00000000E+00 + sigma(3 3)= 1.12422964E-04 sigma(2 1)= 2.31104488E-15 + +-Cartesian components of stress tensor (GPa) [Pressure= -3.3076E+00 GPa] +- sigma(1 1)= 3.30759722E+00 sigma(3 2)= 0.00000000E+00 +- sigma(2 2)= 3.30759722E+00 sigma(3 1)= 0.00000000E+00 +- sigma(3 3)= 3.30759722E+00 sigma(2 1)= 6.79932765E-11 + +== END DATASET(S) ============================================================== +================================================================================ + + -outvars: echo values of variables after computation -------- +- iomode 1 + acell 1.0000000000E+00 1.0000000000E+00 1.0000000000E+00 Bohr + amu 2.80855000E+01 + bandpp 4 + densfor_pred 6 + ecut 4.00000000E+00 Hartree + etotal -8.8253312087E+00 + fcart 1.1426442854E-30 2.3504626116E-31 1.0435349230E-30 + -1.1426442854E-30 -2.3504626116E-31 -1.0435349230E-30 +- fftalg 312 + istwfk 2 0 1 0 0 0 1 0 + kpt 0.00000000E+00 0.00000000E+00 0.00000000E+00 + 2.50000000E-01 0.00000000E+00 0.00000000E+00 + 5.00000000E-01 0.00000000E+00 0.00000000E+00 + 2.50000000E-01 2.50000000E-01 0.00000000E+00 + 5.00000000E-01 2.50000000E-01 0.00000000E+00 + -2.50000000E-01 2.50000000E-01 0.00000000E+00 + 5.00000000E-01 5.00000000E-01 0.00000000E+00 + -2.50000000E-01 5.00000000E-01 2.50000000E-01 + kptrlatt 4 0 0 0 4 0 0 0 4 + kptrlen 2.92300919E+01 +P mkmem 8 + natom 2 + nband 4 + ngfft 15 15 15 + nkpt 8 + nstep 1 + nsym 48 + ntypat 1 + occ 2.000000 2.000000 2.000000 2.000000 + ortalg -2 + paral_kgb 1 + rprim 6.3285005287E+00 0.0000000000E+00 3.6537614838E+00 + 2.1095001762E+00 5.9665675181E+00 3.6537614838E+00 + 0.0000000000E+00 0.0000000000E+00 7.3075229676E+00 + spgroup 227 + strten 1.1242296351E-04 1.1242296352E-04 1.1242296352E-04 + 0.0000000000E+00 0.0000000000E+00 2.3110448833E-15 + symrel 1 0 0 0 1 0 0 0 1 -1 0 0 0 -1 0 0 0 -1 + 0 -1 1 0 -1 0 1 -1 0 0 1 -1 0 1 0 -1 1 0 + -1 0 0 -1 0 1 -1 1 0 1 0 0 1 0 -1 1 -1 0 + 0 1 -1 1 0 -1 0 0 -1 0 -1 1 -1 0 1 0 0 1 + -1 0 0 -1 1 0 -1 0 1 1 0 0 1 -1 0 1 0 -1 + 0 -1 1 1 -1 0 0 -1 0 0 1 -1 -1 1 0 0 1 0 + 1 0 0 0 0 1 0 1 0 -1 0 0 0 0 -1 0 -1 0 + 0 1 -1 0 0 -1 1 0 -1 0 -1 1 0 0 1 -1 0 1 + -1 0 1 -1 1 0 -1 0 0 1 0 -1 1 -1 0 1 0 0 + 0 -1 0 1 -1 0 0 -1 1 0 1 0 -1 1 0 0 1 -1 + 1 0 -1 0 0 -1 0 1 -1 -1 0 1 0 0 1 0 -1 1 + 0 1 0 0 0 1 1 0 0 0 -1 0 0 0 -1 -1 0 0 + 1 0 -1 0 1 -1 0 0 -1 -1 0 1 0 -1 1 0 0 1 + 0 -1 0 0 -1 1 1 -1 0 0 1 0 0 1 -1 -1 1 0 + -1 0 1 -1 0 0 -1 1 0 1 0 -1 1 0 0 1 -1 0 + 0 1 0 1 0 0 0 0 1 0 -1 0 -1 0 0 0 0 -1 + 0 0 -1 0 1 -1 1 0 -1 0 0 1 0 -1 1 -1 0 1 + 1 -1 0 0 -1 1 0 -1 0 -1 1 0 0 1 -1 0 1 0 + 0 0 1 1 0 0 0 1 0 0 0 -1 -1 0 0 0 -1 0 + -1 1 0 -1 0 0 -1 0 1 1 -1 0 1 0 0 1 0 -1 + 0 0 1 0 1 0 1 0 0 0 0 -1 0 -1 0 -1 0 0 + 1 -1 0 0 -1 0 0 -1 1 -1 1 0 0 1 0 0 1 -1 + 0 0 -1 1 0 -1 0 1 -1 0 0 1 -1 0 1 0 -1 1 + -1 1 0 -1 0 1 -1 0 0 1 -1 0 1 0 -1 1 0 0 + timopt -1 + tnons 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + 0.0000000 0.0000000 0.0000000 0.2500000 0.2500000 0.2500000 + tolvrs 1.00000000E-04 + typat 1 1 + wfoptalg 114 + wtk 0.01563 0.12500 0.06250 0.09375 0.37500 0.18750 + 0.04688 0.09375 + xangst 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 1.1162994148E+00 7.8934288602E-01 1.9334873029E+00 + xcart 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 2.1095001762E+00 1.4916418795E+00 3.6537614838E+00 + xred 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 + 2.5000000000E-01 2.5000000000E-01 2.5000000000E-01 + znucl 14.00000 + +================================================================================ + + Test the timer : + a combined call timab(*,1,tsec) + timab(*,2,tsec) is +- CPU time = 6.7780E-07 sec, Wall time = 6.8125E-07 sec + +- Total cpu time (s,m,h): 0.3 0.01 0.000 +- Total wall clock time (s,m,h): 0.4 0.01 0.000 +- +- For major independent code sections, cpu and wall times (sec), +- as well as % of the time and number of calls for node 0 +- +- +- cpu_time = 0.3, wall_time = 0.4 +- +- routine cpu % wall % number of calls Gflops Speedup Efficacity +- (-1=no count) +- timing timab 0.132 38.3 0.133 34.8 14 -1.00 0.99 0.99 +- pspini 0.094 27.4 0.097 25.6 1 -1.00 0.97 0.97 +- abinit(outvars) 0.018 5.3 0.034 8.8 1 -1.00 0.54 0.54 +- get_dtsets_pspheads 0.016 4.6 0.017 4.4 1 -1.00 0.93 0.93 +- abinit(after driver) 0.010 2.9 0.013 3.4 1 -1.00 0.79 0.79 +- fourwf%(pot) 0.010 2.9 0.010 2.7 80 -1.00 0.99 0.99 +- ewald 0.007 2.1 0.007 1.9 1 -1.00 0.98 0.98 +- stress 0.005 1.4 0.005 1.3 1 -1.00 1.00 1.00 +- ewald2 (+vdw_dftd) 0.005 1.3 0.005 1.2 1 -1.00 1.00 1.00 +- abinit(init,iofn1,herald) 0.004 1.3 0.005 1.3 1 -1.00 0.92 0.92 +- abinit(chkinp,chkvars) 0.003 0.9 0.004 1.1 1 -1.00 0.72 0.72 +- nonlop(apply) 0.001 0.4 0.001 0.3 80 -1.00 1.00 1.00 +- setsym 0.001 0.2 0.001 0.2 1 -1.00 0.92 0.92 +- vtowfk(contrib) 0.001 0.2 0.001 0.2 8 -1.00 1.00 1.00 +- xc:pot/=fourdp 0.000 0.1 0.000 0.1 2 -1.00 1.01 1.01 +- fourdp 0.000 0.1 0.001 0.2 9 -1.00 0.55 0.55 +- mkcore 0.000 0.1 0.000 0.1 3 -1.00 1.00 1.00 +- getghc(/=fourXX,nonlop,fock_XX) 0.000 0.1 0.000 0.1 -1 -1.00 1.00 1.00 +- newkpt(excl. rwwf ) 0.000 0.1 0.000 0.1 -1 -1.00 1.00 1.00 +- forces 0.000 0.1 0.000 0.1 1 -1.00 1.00 1.00 +- nonlop(forces) 0.000 0.1 0.000 0.0 16 -1.00 1.01 1.01 +- mkffnl 0.000 0.0 0.000 0.0 16 -1.00 1.03 1.03 +- prep_bandfft_tabs 0.000 0.0 0.000 0.0 16 -1.00 1.03 1.03 +- vtowfk(ssdiag) 0.000 0.0 0.000 0.0 -1 -1.00 0.94 0.94 +- kpgsph 0.000 0.0 0.000 0.0 16 -1.00 1.02 1.02 +- scfcv-scprqt 0.000 0.0 0.000 0.0 1 -1.00 1.07 1.07 +- vtowfk (1) 0.000 0.0 0.000 0.0 8 -1.00 0.92 0.92 +- symrhg(no FFT) 0.000 0.0 0.000 0.0 1 -1.00 1.00 1.00 +- inwffil(excl. calls) 0.000 0.0 0.000 0.0 1 -1.00 1.00 1.00 +- others (130) 0.000 0.0 0.000 0.0 -1 -1.00 0.00 0.00 +- +- +- subtotal 0.310 90.0 0.335 88.1 0.92 0.92 + +- For major independent code sections, cpu and wall times (sec), +- as well as % of the total time and number of calls + +- +- cpu_time = 0.3, wall_time = 0.4 +- +- routine cpu % wall % number of calls Gflops Speedup Efficacity +- (-1=no count) +- timing timab 0.132 38.3 0.133 34.8 14 -1.00 0.99 0.99 +- pspini 0.094 27.4 0.097 25.6 1 -1.00 0.97 0.97 +- abinit(outvars) 0.018 5.3 0.034 8.8 1 -1.00 0.54 0.54 +- get_dtsets_pspheads 0.016 4.6 0.017 4.4 1 -1.00 0.93 0.93 +- abinit(after driver) 0.010 2.9 0.013 3.4 1 -1.00 0.79 0.79 +- fourwf%(pot) 0.010 2.9 0.010 2.7 80 -1.00 0.99 0.99 +- ewald 0.007 2.1 0.007 1.9 1 -1.00 0.98 0.98 +- stress 0.005 1.4 0.005 1.3 1 -1.00 1.00 1.00 +- ewald2 (+vdw_dftd) 0.005 1.3 0.005 1.2 1 -1.00 1.00 1.00 +- abinit(init,iofn1,herald) 0.004 1.3 0.005 1.3 1 -1.00 0.92 0.92 +- abinit(chkinp,chkvars) 0.003 0.9 0.004 1.1 1 -1.00 0.72 0.72 +- nonlop(apply) 0.001 0.4 0.001 0.3 80 -1.00 1.00 1.00 +- setsym 0.001 0.2 0.001 0.2 1 -1.00 0.92 0.92 +- vtowfk(contrib) 0.001 0.2 0.001 0.2 8 -1.00 1.00 1.00 +- xc:pot/=fourdp 0.000 0.1 0.000 0.1 2 -1.00 1.01 1.01 +- fourdp 0.000 0.1 0.001 0.2 9 -1.00 0.55 0.55 +- mkcore 0.000 0.1 0.000 0.1 3 -1.00 1.00 1.00 +- getghc(/=fourXX,nonlop,fock_XX) 0.000 0.1 0.000 0.1 -1 -1.00 1.00 1.00 +- newkpt(excl. rwwf ) 0.000 0.1 0.000 0.1 -1 -1.00 1.00 1.00 +- forces 0.000 0.1 0.000 0.1 1 -1.00 1.00 1.00 +- nonlop(forces) 0.000 0.1 0.000 0.0 16 -1.00 1.01 1.01 +- mkffnl 0.000 0.0 0.000 0.0 16 -1.00 1.03 1.03 +- prep_bandfft_tabs 0.000 0.0 0.000 0.0 16 -1.00 1.03 1.03 +- vtowfk(ssdiag) 0.000 0.0 0.000 0.0 -1 -1.00 0.94 0.94 +- kpgsph 0.000 0.0 0.000 0.0 16 -1.00 1.02 1.02 +- scfcv-scprqt 0.000 0.0 0.000 0.0 1 -1.00 1.07 1.07 +- vtowfk (1) 0.000 0.0 0.000 0.0 8 -1.00 0.92 0.92 +- symrhg(no FFT) 0.000 0.0 0.000 0.0 1 -1.00 1.00 1.00 +- inwffil(excl. calls) 0.000 0.0 0.000 0.0 1 -1.00 1.00 1.00 +- others (130) 0.000 0.0 0.000 0.0 -1 -1.00 0.00 0.00 +- + +- subtotal 0.310 90.0 0.335 88.1 0.92 0.92 + + Partitioning of abinit +- abinit 0.344 100.0 0.381 100.0 1 0.90 0.90 + +- abinit(init,iofn1,herald) 0.004 1.3 0.005 1.3 1 0.92 0.92 +- get_dtsets_pspheads 0.016 4.6 0.017 4.4 1 0.93 0.93 +- abinit(outvars) 0.018 5.3 0.034 8.8 1 0.54 0.54 +- abinit(chkinp,chkvars) 0.003 0.9 0.004 1.1 1 0.72 0.72 +- driver 0.159 46.2 0.174 45.7 1 0.91 0.91 +- abinit(after driver) 0.010 2.9 0.013 3.4 1 0.79 0.79 +- timing timab 0.132 38.3 0.133 34.8 14 0.99 0.99 +- (other) 0.002 0.4 0.002 0.4 -1 1.00 1.00 + +- subtotal 0.344 100.0 0.381 100.0 0.90 0.90 + + Partitioning of driver +- driver 0.159 46.2 0.174 45.7 1 0.91 0.91 + +- driver(bef. loop dtset) 0.000 0.0 -1.000-262.6 1 -0.00 -0.00 +- driver(bef. select case) 0.002 0.5 0.003 0.9 1 0.47 0.47 +- (other) 0.158 45.7 1.171 307.4 -1 0.13 0.13 + +- subtotal 0.159 46.2 0.174 45.7 0.91 0.91 + + Partitioning of gstateimg+gstate +- gstateimg 0.157 45.7 0.170 44.8 1 0.92 0.92 + +- gstateimg(init) 0.000 0.0 0.000 0.0 1 1.00 1.00 +- gstate(1) 0.002 0.5 0.002 0.4 2 0.96 0.96 +- gstate(pspini) 0.094 27.4 0.098 25.6 1 0.97 0.97 +- gstate(init rhor rhog) 0.000 0.1 0.001 0.2 1 0.42 0.42 +- gstate(...scfcv) 0.053 15.3 0.060 15.8 1 0.88 0.88 +- gstate(prtwf) 0.006 1.9 0.008 2.2 1 0.78 0.78 +- gstate(clnup1) 0.001 0.4 0.001 0.3 1 0.99 0.99 +- gstate(DDB) 0.001 0.2 0.001 0.1 1 1.00 1.00 +- gstate(clnup2) 0.000 0.0 0.000 0.0 1 1.00 1.00 + +- subtotal 0.157 45.7 0.170 44.8 0.92 0.92 + + Partitioning of scfcv_core +- scfcv_core 0.053 15.3 0.060 15.8 1 0.88 0.88 + +- scfcv_core(before nstep loop) 0.000 0.0 0.000 0.0 1 1.00 1.00 +- scfcv_core(setvtr) 0.008 2.3 0.009 2.3 1 0.93 0.93 +- scfcv_core(vtorho(f)) 0.023 6.8 0.028 7.4 1 0.83 0.83 +- scfcv_core(rhotov) 0.000 0.1 0.000 0.1 1 1.00 1.00 +- scfcv_core(mix pot) 0.000 0.1 0.000 0.1 1 1.00 1.00 +- scfcv_core(afterscfloop) 0.006 1.6 0.006 1.5 1 1.00 1.00 +- scfcv_core(outscfcv) 0.015 4.3 0.017 4.4 1 0.87 0.87 + +- subtotal 0.053 15.3 0.060 15.8 0.88 0.88 + + Partitioning of rhotov +- rhotov 0.000 0.1 0.000 0.1 1 1.00 1.00 + +- rhotov(rhotoxc) 0.000 0.0 0.000 0.0 1 1.00 1.00 +- (other) 0.000 0.0 -1.000-262.6 -1 -0.00 -0.00 + +- subtotal 0.000 0.1 -1.000-262.6 -0.00 -0.00 + + Partitioning of vtorho +- vtorho 0.023 6.8 0.028 7.4 1 0.83 0.83 + +- vtorho(bef. spin loop) 0.000 0.0 -1.000-262.6 1 -0.00 -0.00 +- vtorho(bef. vtowfk) 0.000 0.1 0.000 0.1 8 0.94 0.94 +- vtowfk 0.023 6.6 0.027 7.2 8 0.83 0.83 +- vtorho(mkrho 2) 0.000 0.1 0.000 0.1 2 0.95 0.95 +- (other) 0.000 0.0 1.000 262.6 -1 0.00 0.00 + +- subtotal 0.023 6.8 0.028 7.4 0.83 0.83 + + Partitioning of vtowfk +- vtowfk 0.023 6.6 0.027 7.2 8 0.83 0.83 + +- vtowfk(2) 0.022 6.4 0.027 7.0 -1 0.83 0.83 +- prep_fourwf%vtow 0.001 0.2 0.001 0.2 8 1.00 1.00 + +- subtotal 0.023 6.6 0.027 7.2 0.83 0.83 + + Partitioning of getghc +- getghc 0.012 3.4 0.012 3.1 80 0.99 0.99 + +- fourwf%getghc 0.010 2.9 0.010 2.7 80 0.99 0.99 +- nonlop%getghc 0.001 0.4 0.001 0.3 80 1.00 1.00 +- getghc(/=fourXX,nonlop,fock_XX) 0.000 0.1 0.000 0.1 -1 1.00 1.00 + +- subtotal 0.012 3.4 0.012 3.1 0.99 0.99 + + Partitioning of fourwf (upwards partitioning) +- fourwf 0.011 3.1 0.011 2.8 110 0.99 0.99 + +- fourwf%getghc 0.010 2.9 0.010 2.7 80 0.99 0.99 +- fourwf%prep_four 0.001 0.2 0.001 0.2 30 0.99 0.99 + +- subtotal 0.011 3.1 0.011 2.8 0.99 0.99 + + Partitioning of prep_fourwf +- prep_fourwf 0.001 0.2 0.001 0.2 8 1.00 1.00 + +- fourwf%prep_four 0.001 0.2 0.001 0.2 30 0.99 0.99 + +- subtotal 0.001 0.2 0.001 0.2 0.99 0.99 + + Partitioning of prep_nonlop +- prep_nonlop 0.001 0.1 0.001 0.1 24 1.00 1.00 + +- nonlop%prep_nonl%forstrn 0.000 0.1 0.000 0.1 8 1.00 1.00 +- (other) 0.000 0.1 0.000 0.1 -1 1.00 1.00 + +- subtotal 0.001 0.1 0.001 0.1 1.00 1.00 + + Partitioning of inwffil +- inwffil 0.000 0.1 0.000 0.1 1 0.99 0.99 + +- inwffil(call newkpt) 0.000 0.1 0.000 0.1 1 0.99 0.99 + +- subtotal 0.000 0.1 0.000 0.1 0.99 0.99 + + Partitioning of newkpt +- newkpt 0.000 0.1 0.000 0.1 1 0.99 0.99 + +- newkpt(call wfconv) 0.000 0.1 0.000 0.1 8 0.99 0.99 + +- subtotal 0.000 0.1 0.000 0.1 1.00 1.00 + + Partitioning of newvtr +- newvtr 0.000 0.1 0.000 0.1 1 1.00 1.00 + +- newvtr(aft. prcref_PMA) 0.000 0.0 -1.000-262.6 1 -0.00 -0.00 +- (other) 0.000 0.0 1.000 262.6 -1 0.00 0.00 + +- subtotal 0.000 0.1 0.000 0.1 1.00 1.00 + + Partitioning of fourdp (upwards partitioning) +- fourdp 0.000 0.1 0.001 0.2 9 0.55 0.55 + +- fourdp%(other) 0.000 0.1 0.001 0.2 9 0.55 0.55 + +- subtotal 0.000 0.1 0.001 0.2 0.55 0.55 + + Partitioning of afterscfloop +- afterscfloop 0.006 1.6 0.006 1.5 1 1.00 1.00 + +- afterscfloop(forstr) 0.006 1.6 0.006 1.5 1 1.00 1.00 + +- subtotal 0.006 1.6 0.006 1.5 1.00 1.00 + + Partitioning of forstr +- forstr 0.006 1.6 0.006 1.5 1 1.00 1.00 + +- forstr(forstrnps) 0.000 0.1 0.000 0.1 1 1.00 1.00 +- forstr(forces) 0.000 0.1 0.000 0.1 1 1.00 1.00 +- forstr(stress) 0.005 1.4 0.005 1.3 1 1.00 1.00 + +- subtotal 0.006 1.6 0.006 1.5 1.00 1.00 + + Partitioning of forstrnps +- forstrnps 0.000 0.1 0.000 0.1 1 1.00 1.00 + +- forstrnps(bef.loop band) 0.000 0.0 0.000 0.0 8 1.00 1.00 +- forstrnps(nonlop+prep_ba 0.000 0.1 0.000 0.1 8 1.00 1.00 + +- subtotal 0.000 0.1 0.000 0.1 1.00 1.00 + + Partitioning of outscfcv +- outscfcv 0.015 4.2 0.017 4.4 1 0.87 0.87 + +- outscfcv(preparation) 0.000 0.0 0.000 0.0 1 1.00 1.00 +- outscfcv([PAW]prtden) 0.000 0.1 0.000 0.1 1 1.00 1.00 +- outscfcv(output GSR) 0.014 4.0 0.016 4.2 1 0.87 0.87 +- outscfcv(prt_ebands) 0.000 0.0 0.000 0.0 1 1.00 1.00 + +- subtotal 0.015 4.2 0.017 4.4 0.87 0.87 + + Partitioning of lobpcgwf2 core engine +- lobpcgwf2 0.022 6.4 0.027 7.0 16 0.83 0.83 + +- lobpcg_Bortho(X) 0.001 0.2 0.002 0.5 16 0.36 0.36 +- lobpcg_Bortho(XW) 0.000 0.1 0.000 0.1 16 1.00 1.00 +- lobpcg_Bortho(XWP) 0.002 0.5 0.002 0.4 48 1.00 1.00 +- lobpcg_RR(X) 0.001 0.3 0.003 0.8 16 0.34 0.34 +- lobpcg_RR(XW) 0.001 0.3 0.002 0.4 16 0.60 0.60 +- lobpcg_RR(XWP) 0.003 0.9 0.003 0.8 48 1.00 1.00 +- lobpcg_transpose 0.000 0.1 0.000 0.1 176 0.99 0.99 +- lobpcg_init 0.000 0.0 0.000 0.0 16 1.01 1.01 +- lobpcg_copy 0.000 0.1 0.000 0.1 48 0.38 0.38 +- lobpcg_nbdbuf 0.000 0.0 0.000 0.0 80 0.91 0.91 +- lobpcg_enl 0.000 0.1 0.000 0.1 16 0.99 0.99 +- lobpcg_maxResidu 0.000 0.1 0.000 0.1 160 0.98 0.98 +- lobpcg_run@getAX_BX 0.012 3.5 0.012 3.2 80 0.99 0.99 +- lobpcg_pcond 0.000 0.1 0.000 0.1 80 0.96 0.96 +- lobpcg(other) 0.001 0.2 0.001 0.3 16 0.60 0.60 + +- subtotal 0.022 6.4 0.027 7.0 0.83 0.83 + + Partitioning of low-level xgBlock type +- xgBlock_gemm(blas) 0.002 0.4 0.002 0.6 880 0.67 0.67 + +- xgBlock_trsm 0.001 0.4 0.002 0.5 240 0.82 0.82 +- xgBlock_potrf 0.000 0.0 0.000 0.1 80 0.46 0.46 +- xgBlock_zero 0.000 0.1 0.000 0.1 432 1.00 1.00 +- xgBlock_zero_im_g0 0.000 0.1 0.000 0.1 864 1.00 1.00 +- xgBlock_heevd 0.001 0.2 0.003 0.7 16 0.26 0.26 +- xgBlock_hegvd 0.001 0.3 0.002 0.4 64 0.75 0.75 +- xgBlock_copy 0.000 0.1 0.001 0.2 640 0.56 0.56 +- xgBlock_cshift 0.000 0.0 0.000 0.1 64 0.25 0.25 +- xgBlock_gemm(mpi) 0.000 0.0 0.000 0.0 448 0.86 0.86 +- xgBlock_apply_diag 0.000 0.0 0.000 0.0 80 0.99 0.99 +- xgBlock_colwiseMul 0.000 0.0 -1.000-262.6 80 -0.00 -0.00 +- xgBlock_colwiseCymax 0.000 0.0 -1.000-262.6 80 -0.00 -0.00 +- xgBlock_add 0.000 0.1 0.000 0.1 192 1.07 1.07 + +- subtotal 0.005 1.6 -1.991-523.0 -0.00 -0.00 +- +-Synchronisation (=leave_test) and MPI calls +- communic.MPI 0.000 0.0 0.000 0.0 83 0.78 0.78 +- +- forstrnps:synchr 0.000 0.0 0.000 0.0 2 0.00 0.00 +- subtotal 0.000 0.0 0.000 0.0 0.00 0.00 + + Additional information +- timana(1) 0.000 0.0 0.000 0.0 1 1.00 1.00 +- total timab 0.136 39.6 0.137 36.0 201299 0.99 0.99 +- fourwf 0.011 3.1 0.011 2.8 110 0.99 0.99 +- mklocl(2) 0.000 0.0 0.000 0.0 1 1.00 1.00 +- nonlop(total) 0.002 0.5 0.002 0.4 104 1.00 1.00 + + Additional information about diagonalization algorithm segments +- RayleighRitz@diago 0.002 0.6 0.004 1.1 80 0.46 0.46 +- RayleighRitz@gemm_1 0.001 0.4 0.001 0.3 80 1.01 1.01 +- RayleighRitz@gemm_2 0.002 0.5 0.002 0.5 80 0.86 0.86 + + + Detailed analysis of some time consuming routines + tcpu ncalls tcpu/ncalls ndata tcpu/ncalls/ndata + (sec) (msec) (microsec) +- fourwf%(pot) 0.010 80 0.126 6750 0.019 +- fourwf%(den) 0.000 0 +- fourdp 0.000 9 0.050 3375 0.015 +- nonlop(apply) 0.001 80 0.016 212 0.076 +- nonlop(forces) 0.000 16 0.011 212 0.054 +- nonlop(forstr) 0.000 0 +- projbd 0.000 0 +- xc:pot/=fourdp 0.000 2 0.228 3375 0.068 +- RayleighRitz@diago 0.002 80 0.024 16 1.487 + +================================================================================ + + Suggested references for the acknowledgment of ABINIT usage. + + The users of ABINIT have little formal obligations with respect to the ABINIT group + (those specified in the GNU General Public License, http://www.gnu.org/copyleft/gpl.txt). + However, it is common practice in the scientific literature, + to acknowledge the efforts of people that have made the research possible. + In this spirit, please find below suggested citations of work written by ABINIT developers, + corresponding to implementations inside of ABINIT that you have used in the present run. + Note also that it will be of great value to readers of publications presenting these results, + to read papers enabling them to understand the theoretical formalism and details + of the ABINIT implementation. + For information on why they are suggested, see also https://docs.abinit.org/theory/acknowledgments. +- +- [1] Large scale ab initio calculations based on three levels of parallelization +- F. Bottin, S. Leroux, A. Knyazev, G. Zerah, Comput. Mat. Science 42, 329, (2008). +- Comment: in case LOBPCG algorithm is used (wfoptalg=4/14/114). +- Strong suggestion to cite this paper in your publications. +- This paper is also available at http://www.arxiv.org/abs/0707.3405 +- DOI and bibtex: see https://docs.abinit.org/theory/bibliography/#bottin2008 +- +- [2] The Abinit project: Impact, environment and recent developments. +- Computer Phys. Comm. 248, 107042 (2020). +- X.Gonze, B. Amadon, G. Antonius, F.Arnardi, L.Baguet, J.-M.Beuken, +- J.Bieder, F.Bottin, J.Bouchet, E.Bousquet, N.Brouwer, F.Bruneval, +- G.Brunin, T.Cavignac, J.-B. Charraud, Wei Chen, M.Cote, S.Cottenier, +- J.Denier, G.Geneste, Ph.Ghosez, M.Giantomassi, Y.Gillet, O.Gingras, +- D.R.Hamann, G.Hautier, Xu He, N.Helbig, N.Holzwarth, Y.Jia, F.Jollet, +- W.Lafargue-Dit-Hauret, K.Lejaeghere, M.A.L.Marques, A.Martin, C.Martins, +- H.P.C. Miranda, F.Naccarato, K. Persson, G.Petretto, V.Planes, Y.Pouillon, +- S.Prokhorenko, F.Ricci, G.-M.Rignanese, A.H.Romero, M.M.Schmitt, M.Torrent, +- M.J.van Setten, B.Van Troeye, M.J.Verstraete, G.Zerah and J.W.Zwanzig +- Comment: the fifth generic paper describing the ABINIT project. +- Note that a version of this paper, that is not formatted for Computer Phys. Comm. +- is available at https://www.abinit.org/sites/default/files/ABINIT20.pdf . +- The licence allows the authors to put it on the Web. +- DOI and bibtex: see https://docs.abinit.org/theory/bibliography/#gonze2020 +- +- [3] ABINIT: Overview, and focus on selected capabilities +- J. Chem. Phys. 152, 124102 (2020). +- A. Romero, D.C. Allan, B. Amadon, G. Antonius, T. Applencourt, L.Baguet, +- J.Bieder, F.Bottin, J.Bouchet, E.Bousquet, F.Bruneval, +- G.Brunin, D.Caliste, M.Cote, +- J.Denier, C. Dreyer, Ph.Ghosez, M.Giantomassi, Y.Gillet, O.Gingras, +- D.R.Hamann, G.Hautier, F.Jollet, G. Jomard, +- A.Martin, +- H.P.C. Miranda, F.Naccarato, G.Petretto, N.A. Pike, V.Planes, +- S.Prokhorenko, T. Rangel, F.Ricci, G.-M.Rignanese, M.Royo, M.Stengel, M.Torrent, +- M.J.van Setten, B.Van Troeye, M.J.Verstraete, J.Wiktor, J.W.Zwanziger, and X.Gonze. +- Comment: a global overview of ABINIT, with focus on selected capabilities . +- Note that a version of this paper, that is not formatted for J. Chem. Phys +- is available at https://www.abinit.org/sites/default/files/ABINIT20_JPC.pdf . +- The licence allows the authors to put it on the Web. +- DOI and bibtex: see https://docs.abinit.org/theory/bibliography/#romero2020 +- +- [4] Recent developments in the ABINIT software package. +- Computer Phys. Comm. 205, 106 (2016). +- X.Gonze, F.Jollet, F.Abreu Araujo, D.Adams, B.Amadon, T.Applencourt, +- C.Audouze, J.-M.Beuken, J.Bieder, A.Bokhanchuk, E.Bousquet, F.Bruneval +- D.Caliste, M.Cote, F.Dahm, F.Da Pieve, M.Delaveau, M.Di Gennaro, +- B.Dorado, C.Espejo, G.Geneste, L.Genovese, A.Gerossier, M.Giantomassi, +- Y.Gillet, D.R.Hamann, L.He, G.Jomard, J.Laflamme Janssen, S.Le Roux, +- A.Levitt, A.Lherbier, F.Liu, I.Lukacevic, A.Martin, C.Martins, +- M.J.T.Oliveira, S.Ponce, Y.Pouillon, T.Rangel, G.-M.Rignanese, +- A.H.Romero, B.Rousseau, O.Rubel, A.A.Shukri, M.Stankovski, M.Torrent, +- M.J.Van Setten, B.Van Troeye, M.J.Verstraete, D.Waroquier, J.Wiktor, +- B.Xu, A.Zhou, J.W.Zwanziger. +- Comment: the fourth generic paper describing the ABINIT project. +- Note that a version of this paper, that is not formatted for Computer Phys. Comm. +- is available at https://www.abinit.org/sites/default/files/ABINIT16.pdf . +- The licence allows the authors to put it on the Web. +- DOI and bibtex: see https://docs.abinit.org/theory/bibliography/#gonze2016 +- +- And optionally: +- +- [5] ABINIT: First-principles approach of materials and nanosystem properties. +- Computer Phys. Comm. 180, 2582-2615 (2009). +- X. Gonze, B. Amadon, P.-M. Anglade, J.-M. Beuken, F. Bottin, P. Boulanger, F. Bruneval, +- D. Caliste, R. Caracas, M. Cote, T. Deutsch, L. Genovese, Ph. Ghosez, M. Giantomassi +- S. Goedecker, D.R. Hamann, P. Hermet, F. Jollet, G. Jomard, S. Leroux, M. Mancini, S. Mazevet, +- M.J.T. Oliveira, G. Onida, Y. Pouillon, T. Rangel, G.-M. Rignanese, D. Sangalli, R. Shaltaf, +- M. Torrent, M.J. Verstraete, G. Zerah, J.W. Zwanziger +- Comment: the third generic paper describing the ABINIT project. +- Note that a version of this paper, that is not formatted for Computer Phys. Comm. +- is available at https://www.abinit.org/sites/default/files/ABINIT_CPC_v10.pdf . +- The licence allows the authors to put it on the Web. +- DOI and bibtex: see https://docs.abinit.org/theory/bibliography/#gonze2009 +- +- Proc. 0 individual time (sec): cpu= 0.3 wall= 0.4 + +================================================================================ + + Calculation completed. +.Delivered 2 WARNINGs and 2 COMMENTs to log file. ++Overall time at end (sec) : cpu= 0.3 wall= 0.4 diff --git a/tests/io/abinit/test_abitimer.py b/tests/io/abinit/test_abitimer.py new file mode 100644 index 00000000000..6e415be4aee --- /dev/null +++ b/tests/io/abinit/test_abitimer.py @@ -0,0 +1,62 @@ +from __future__ import annotations + +import pytest + +from pymatgen.io.abinit.abitimer import AbinitTimerParser +from pymatgen.util.testing import TEST_FILES_DIR, PymatgenTest + +TEST_DIR = f"{TEST_FILES_DIR}/io/abinit" + + +def abiref_file(filename): + """Return absolute path to filename in ~pymatgen/tests/files/abinit.""" + return f"{TEST_DIR}/{filename}" + + +class TestAbinitTimer(PymatgenTest): + def test_timer_parser(self): + tparser = AbinitTimerParser() + parsed = tparser.parse([abiref_file("mgb2_scf.abo")]) + assert len(parsed) == 1 + + tparser = AbinitTimerParser() + parsed = tparser.parse([abiref_file("si_scf_v10.2.7.abo")]) + assert len(parsed) == 1 + + def test_timer(self): + tparser = AbinitTimerParser() + tparser.parse([abiref_file("mgb2_scf.abo")]) + + assert len(tparser.timers()) == 1 + timer = tparser.timers()[0] + assert timer.cpu_time == 5.1 + assert timer.get_dataframe() is not None + + assert timer.to_table() + + assert len(timer.get_values("cpu_time")) == 30 + + assert timer.sum_sections("cpu_time") == pytest.approx(3.298999999) + + assert timer.cpuwall_histogram(show=False) + assert timer.pie(show=False) + assert timer.scatter_hist(show=False) + + def test_timer_10_2_7(self): + tparser = AbinitTimerParser() + tparser.parse([abiref_file("si_scf_v10.2.7.abo")]) + + assert len(tparser.timers()) == 1 + timer = tparser.timers()[0] + assert timer.cpu_time == 0.3 + assert timer.get_dataframe() is not None + + assert timer.to_table() + + assert len(timer.get_values("cpu_time")) == 30 + + assert timer.sum_sections("cpu_time") == pytest.approx(0.307) + + assert timer.cpuwall_histogram(show=False) + assert timer.pie(show=False) + assert timer.scatter_hist(show=False)