rendered paste bodyIndex: blacs.py===================================================================--- blacs.py (revision 7254)+++ blacs.py (working copy)@@ -197,6 +197,22 @@ _gpaw.blacs_destroy(self.context) +class DryRunBlacsGrid(BlacsGrid):+ def __init__(self, comm, nprow, npcol, order='R'):+ assert isinstance(comm, SerialCommunicator) #DryRunCommunicator is subclass+ self.context = INACTIVE+ self.comm = comm+ self.nprow = nprow+ self.npcol = npcol+ self.ncpus = nprow * npcol+ self.mycol, self.myrow = -1, -1+ self.order = order++#XXX A MAJOR HACK HERE:+from gpaw import dry_run+if dry_run:+ BlacsGrid = DryRunBlacsGrid+ class BlacsDescriptor(MatrixDescriptor): """Class representing a 2D matrix distribution on a blacs grid. @@ -284,7 +300,7 @@ self.rsrc = rsrc self.csrc = csrc - if 1:#blacsgrid.is_active():+ if blacsgrid.is_active(): locN, locM = _gpaw.get_blacs_local_shape(self.blacsgrid.context, self.N, self.M, self.nb, self.mb, @@ -515,8 +531,6 @@ 'BlacsOrbitalLayouts': BlacsOrbitalLayouts, 'OrbitalLayouts': OrbitalLayouts, }[name](*args, **kwargs)- if 0: #XXX debug- print 'USING KSL: %s' % repr(ksl) assert isinstance(ksl, KohnShamLayouts) assert isinstance(ksl, BlacsLayouts) == (sl is not None) return ksl@@ -815,7 +829,7 @@ naoblocksize, nao) self.nMdescriptor = self.columngrid.new_descriptor(nbands, nao, mynbands, nao)- assert self.mMdescriptor.shape == (self.mynao, nao)+ #assert self.mMdescriptor.shape == (self.mynao, nao) #XXX uncomment! #parallelprint(world, (mynao, self.mMdescriptor.shape))