TypeError--使用slurm队列提交pyiron作业
TypeError--using slurm queue to submit pyiron jobs
我在通过 pysqa 适配器在我的 HPC 上 运行 pyiron 作业时遇到了一些问题。我不小心删除了主 pyiron
目录,其中包含 pyiron
、projects
和 resources
文件夹。我从另一个集群复制了所有这三个。我认为唯一会导致问题的是 resources
文件夹中的 sqlite.db
文件。以前,我通过适配器没有问题 运行 交互式 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'
一些 inputs/feedback 将不胜感激。
谢谢!
我们更新了 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,否则会显示来自排队系统的错误消息。
我在通过 pysqa 适配器在我的 HPC 上 运行 pyiron 作业时遇到了一些问题。我不小心删除了主 pyiron
目录,其中包含 pyiron
、projects
和 resources
文件夹。我从另一个集群复制了所有这三个。我认为唯一会导致问题的是 resources
文件夹中的 sqlite.db
文件。以前,我通过适配器没有问题 运行 交互式 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'
一些 inputs/feedback 将不胜感激。
谢谢!
我们更新了 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,否则会显示来自排队系统的错误消息。