[gpaw-users] Calculation freezes after memory estimate

Marcin Dulak Marcin.Dulak at fysik.dtu.dk
Sun Jul 1 18:31:52 CEST 2012


On 06/26/12 08:41, Juho Arjoranta wrote:
> Hello,
>
> I have been converging the vacuum around a copper surface with two
> bottom layers fixed and with 4 and 6 layers of copper everything went
> fine. Now I have an 8 layer surface and the calculation freezes after
> the evaluation of memory usage is made. The calculation for the
> surface was restarted from a bulk calculation where the initial state
> for the surface was set. The bulk was relaxed to make sure that the
> structure is really correct.
could freezing be ralated to scalapack?
I remember similar problems with scalapack on, for example
this hangs: 
https://trac.fysik.dtu.dk/projects/gpaw/browser/trunk/gpaw/test/parallel/scalapack_pdlasrt_hang.py

Marcin
>
> Initially when I used the same calculator options as for the 6 layer
> surface the calculation for 8 layers froze. After that I have tried
> less agressive mixing, different Poisson solvers, extracting the
> single-zeta polarization basis set from the double-zeta polarization
> basis sets, and eventually even a different eigensolver.
>
> These calculation were run at Louhi and the last one I tried was this one:
>
> from ase.parallel import paropen
> from gpaw import restart, Mixer
> from gpaw.poisson import PoissonSolver
> from ase.constraints import FixAtoms
> from ase.optimize import QuasiNewton
> from numpy import zeros
>
> resultfile = paropen('8-layer-cg-results.txt', 'w')
>
> for vac in range(5, 15):
>
>           name = '8-layer-cg-%.i-vacuum' % vac
>
>           k = 8
>           a = 3.643       # Lattice constant from the convergence calculations
>
>           surface, calc = restart('bulk-8-initial.gpw',
>                           txt = name + '.txt',
>                           eigensolver = 'cg',
>                           mixer=Mixer(beta=0.1, nmaxold=2, weight=100.0),
>                           poissonsolver=PoissonSolver(nn=3, relax='J'),
>                           basis='szp(dzp)',
>                           parallel={'sl_default': (5,1,64),
>                                     'domain': (1,1,5)},
>                           kpts = (k, k, 1))
>
>           # Fixing of the two bottom layers
>
>           fix = 2
>
>           positions = surface.get_positions()
>           number = positions.size / 3
>
>           array = zeros([number])
>           for i in range(0, number):
>                   if (surface.positions[i][2]<  fix * a / 2):
>                           array[i] = 1
>                   surface.set_tags(array)
>           c = FixAtoms(mask=[atom.tag == 1 for atom in surface])
>           surface.set_constraint(c)
>
>           surface.pbc = (1, 1, 0)                         # Set PBC
> false in z-direction
>           surface.center(axis = 2, vacuum = vac)          # Center the
> system in z-direction and add vacuum
>
>           surface.set_calculator(calc)
>
>           # Relaxation of the surface
>
>           relax = QuasiNewton(surface, trajectory = name + '.traj')
>           relax.run(fmax = 0.05)
>
> Equivalent code worked with 4 and 6 layers just fine. Then of course
> there were no need for different eigensolver or basis etc. For some
> reason the only error message I get, is Louhi sending me this to my
> email:
>
> PBS Job Id: 1098436.sdb
> Job Name:   8-layer-cg
> Post job file processing error; job 1098436.sdb on host nid00143
>
>
> Unable to copy file /var/spool/PBS/spool/1098436.sdb.OU to
> nid00139://wrk/arjoran/8-layer-cg.o1098436
> error from copy
> nid00139: Connection refused
> end error output
> Output retained on that host in: /var/spool/PBS/undelivered/1098436.sdb.OU
>
> Any ideas how the get that running?
>
> Juho Arjoranta
>
>
> _______________________________________________
> gpaw-users mailing list
> gpaw-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
>




More information about the gpaw-users mailing list