Search code examples
hpcslurmpyiron

TypeError--using slurm queue to submit pyiron jobs


I'm facing some issues while running pyiron jobs on my HPC via the pysqa adapter. I had accidentally erased the main pyiron directory containing pyiron, projects and resources folders. I had copied all the three from another cluster. The only thing that I think will cause problem is sqlite.db file in the resources folder. Previously, I had no issues running interactive VASP jobs through the adapter. I'm guessing something happened after the deletion incident.

The pyiron version I'm using is: 0.2.17

Here is a minimal example using an Interactive vasp job that I have tried:

from pyiron import Project
pr = Project('Al-test')
structure = pr.create_structure('Al', 'fcc', 4.05)

pr.remove_jobs(recursive=True)

from pysqa import QueueAdapter 
sqa = QueueAdapter(directory='~/pyiron/resources/queues/') 

sqa.queue_view

pr.job_table()

job = pr.create_job(pr.job_type.Vasp, 'job_int')
job.structure = structure

job.server.run_mode.interactive = True
job.executable.executable_path = '~/pyiron/resources/vasp/bin/run_vasp_5.4.4_std_mpi.sh'
job.input.incar['NCORE']=4
job.server.queue = 'slurm'
job.server.cores=16

job.server.view_queues()

sqa.get_queue_status()

job.run(run_again=True)

end of the error log:

~/pyiron/pyiron/pyiron/base/server/generic.py in queue_id(self, qid)
    208             qid (int): queue ID
    209         """
--> 210         self._queue_id = int(qid)
    211 
    212     @property

TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

Some inputs/feedback on this would be greatly appreciated.

Thanks!


Solution

  • We updated the queuing system interface in pyiron 0.3.X you can read more about this here: https://pyiron.org/news/releases/2020/09/06/pyiron-0-3-X-HPC-release.html

    For pyiron 0.3.X we have a detailed installation guide available on readthedocs.org: https://pyiron.readthedocs.io/en/latest/source/installation.html#remote-hpc-cluster

    So I highly recommend updating to pyiron 0.3.13.

    Apart from this the error message basically says that the submission was not successful. If you navigate to the jobs working directory job.working_directory you should find a run_queue.sh script in the working directory. This is the script pyiron is using to submit the job to the queuing system. You can try to submit it manually using sbatch run_queue.sh this should print the queue id if successful and otherwise the error message from your queuing system.