首页 > 解决方案 > TypeError--使用slurm队列提交pyiron作业

问题描述

通过 pysqa 适配器在我的 HPC 上运行 pyiron 作业时,我遇到了一些问题。pyiron我不小心删除了包含pyiron,projects和文件夹的主目录resources。我已经从另一个集群复制了所有三个。我认为唯一会导致问题的是sqlite.db文件resources夹中的文件。以前,我通过适配器运行交互式 VASP 作业没有问题。我猜在删除事件之后发生了一些事情。

我正在使用的 pyiron 版本是:0.2.17

这是一个使用我尝试过的交互式 vasp 作业的最小示例:

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)

错误日志的结尾:

~/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'

对此的一些输入/反馈将不胜感激。

谢谢!

标签: hpcslurmpyiron

解决方案


我们更新了 pyiron 0.3.X 中的排队系统界面,您可以在此处阅读更多相关信息: https ://pyiron.org/news/releases/2020/09/06/pyiron-0-3-X-HPC-release.html

对于 pyiron 0.3.X,我们在 readthedocs.org 上提供了详细的安装指南: https ://pyiron.readthedocs.io/en/latest/source/installation.html#remote-hpc-cluster

所以我强烈建议更新到 pyiron 0.3.13。

除此之外,错误消息基本上说提交不成功。如果您导航到作业工作目录job.working_directory,您应该在工作目录中找到一个run_queue.sh脚本。这是 pyiron 用来将作业提交到排队系统的脚本。您可以尝试手动提交它,sbatch run_queue.sh如果成功则打印队列 ID,否则将打印来自排队系统的错误消息。


推荐阅读