hpc - 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'
对此的一些输入/反馈将不胜感激。
谢谢!
解决方案
我们更新了 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,否则将打印来自排队系统的错误消息。
推荐阅读
- memory - HttpClientFactory 内存泄漏
- python - PyCharm 代码折叠/大纲生成错误的边界
- java - junit 在 scala 类中找不到测试,但在 java 类中找到测试(maven 项目)
- jquery - 谷歌地图 - 跨度点击导航到特定位置
- java - 如何在实体上维护过滤的子级
- c++ - 哪种方法更好,性能明智
- c++ - c ++如何在原始抽象类中创建一个接受派生类输入的函数
- python - 如何将 mpl_finance 包安装到 Anaconda 的环境中?
- ruby-on-rails - 如何使用 systemd 管理一组 resque 工作者?
- django - Django中不需要的会话重复