# Memory error during calculation of relaxation time

Hi,
I am new to AMSET. I am calculating relaxation time for a system with 12 atoms/unit cell. I am getting a memory error on my laptop as well as on HPC when I am running the AMSET using vasprun.xml and wavefunction.hd5 from an NSCF calculation with KPOINTS 30\times30\times30. The error doesn’t come for KPOINTS 20\times20\times20.

I am using 32 processors for this calculation in node having total memory of 62.4G. Please help me regarding the same. The error is following:

ERROR: amset exiting on 24 Aug 2021 at 12:32
Traceback (most recent call last):
File "/home/bhawna/anaconda3/envs/amset-new/bin/amset", line 8,
in <module>
sys.exit(cli())
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/amset/tools/run.py", line 139, in run
runner.run()
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/amset/core/run.py", line 62, in run
mem_usage, (amset_data, usage_stats) = memory_usage(
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/memory_profiler.py", line 336, in memory_usage
returned = f(*args, **kw)
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/amset/core/run.py", line 117, in _run_wrapper
amset_data, scattering_time = self._do_scattering(amset_data)
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/amset/core/run.py", line 260, in _do_scattering
scatter = ScatteringCalculator(
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/amset/scattering/calculate.py", line 191, in __init__
self.initialize_workers()
File "/home/bhawna/anaconda3/envs/amset-new/lib/python3.8/site-
packages/amset/scattering/calculate.py", line 228, in
initialize_workers
self.in_queue = ctx.Queue()
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/context.py", line 103, in Queue
return Queue(maxsize, ctx=self.get_context())
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/queues.py", line 42, in __init__
self._rlock = ctx.Lock()
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/context.py", line 68, in Lock
return Lock(ctx=self.get_context())
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/synchronize.py", line 162, in
__init__
SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx)
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/synchronize.py", line 80, in
__init__
register(self._semlock.name, "semaphore")
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/resource_tracker.py", line 147,
in register
self._send('REGISTER', name, rtype)
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/resource_tracker.py", line 154,
in _send
self.ensure_running()
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/resource_tracker.py", line 121,
in ensure_running
pid = util.spawnv_passfds(exe, args, fds_to_pass)
File "/home/bhawna/anaconda3/envs/amset-
new/lib/python3.8/multiprocessing/util.py", line 452, in
spawnv_passfds
return _posixsubprocess.fork_exec(
OSError: [Errno 12] Cannot allocate memory


Hi Bhawna,

You do not have enough memory on your system for the size of the wavefunction coefficients.

Can I ask why you need to go to 30x30x30 k-points? I believe this is actually the densest VASP will go and it is far more than is necessary for AMSET to work. Your 20x20x20 k-points should already be very well converged.

If you are trying to converge the transport properties, you should instead do that by increasing the interpolated mesh using the interpolation_factor setting. For example, you can set this to 5 and gradually increase it by 5 until the transport properties are converged.

Best,
Alex