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