[gpaw-users] What to use spectral parallelization instead of over the kpoints when calculating the response function
Anders Hellman
ahell at chalmers.se
Wed Nov 9 19:15:53 CET 2011
Dear GPAW-users,
I am trying to calculate the response function, however, I think I am hitting some memory limit and would like to parallelice over the spectral function. I introduce the kcommsize, but when ever the kcommsize is set to a number below the number of cores I get the following error massage;
File "run.py", line 42, in ?
df.get_macroscopic_dielectric_constant()
File "/lap/gpaw/0.8.0.8092/lib64/python2.4/site-packages/gpaw/response/df.py", line 281, in get_macroscopic_dielectric_constant
df1, df2 = self.get_dielectric_function(xc=xc)
File "/lap/gpaw/0.8.0.8092/lib64/python2.4/site-packages/gpaw/response/df.py", line 134, in get_dielectric_function
dm_wGG = self.get_dielectric_matrix(xc=xc)
File "/lap/gpaw/0.8.0.8092/lib64/python2.4/site-packages/gpaw/response/df.py", line 47, in get_dielectric_matrix
self.initialize()
File "/lap/gpaw/0.8.0.8092/lib64/python2.4/site-packages/gpaw/response/chi.py", line 119, in initialize
self.parallel_init()
File "/lap/gpaw/0.8.0.8092/lib64/python2.4/site-packages/gpaw/response/chi.py", line 447, in parallel_init
assert self.Nw % (size / self.kcomm.size) == 0
When kcommsize is above number of cores the calculation runs but now it is parallel over the kpoint, and I hit the memory limit.
My response function object looks like;
df = DF(calc='out.gpw', q=q, w=w, eta=0.0001,
hilbert_trans=False, txt='df_1.out',
ecut=150, optical_limit=True, kcommsize=1)
What am I doing wrong? Please, any help is very much appreciated.
Cheers,
Anders
More information about the gpaw-users
mailing list