aiida插件与伦敦帝国学院cx1 hpc的接口

aiida-icl的Python项目详细描述


Build StatusPyPIAnaconda-Server Badge

aiida_icl

安装:

$ conda install -c cjs14 aiida-icl
# or
$ pip install aiida-icl

aiida插件,用于在伦敦帝国理工学院与hpc合作。

提供aiida.scheduler入口点:pbspro_cx1

创建新计算机:

fromaiidaimportload_profile()fromaiida_icl.utilsimportget_cx1_computerload_profile()computer=get_cx1_computer('/path/to/workdir','/Users/user_name/.ssh/id_rsa')print(computer)
icl_cx1 (login.cx1.hpc.ic.ac.uk), pk: 8

生成计算metadata.options

fromaiida_icl.utilsimportJOB_CLASSES,get_calulation_optionsoptions=get_calulation_options(JOB_CLASSES.general_24)print(options)
{'resources':{'num_machines':1,'num_mpiprocs_per_machine':32},'max_memory_kb':10000000,'max_wallclock_seconds':86400,'withmpi':True}

设置ssh公钥和私钥

作为一种更安全的身份验证方法,使用公钥身份验证而不是直接使用密码访问远程主机。网上有很多解释 (包括here)和下面是一个简短的安装指南 (摘自here):

首先打开要连接的计算机上的外壳。输入cd~/.ssh。 如果ls显示给名为“id_rsa”和“id_rsa.pub”的文件,则说明您已经有一个密钥对。 如果没有,请输入ssh-keygen下面是结果的样子:

heiko@clove:~/.ssh$ ssh-keygen
Generating public/private rsa key pair.Enter file in which to save the key (/Users/heiko/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in id_rsa.Your public key has been saved in id_rsa.pub.The key fingerprint is:f0:da:dc:77:cf:71:12:c8:50:dc:18:a9:8d:66:38:ae heiko@clove.ch.ic.ac.ukThe key's randomart image is:+--[ RSA 2048]----+|           .o=   ||           .+ .  ||      .  ..+     ||       oo =o..   ||       .S+  o .  ||       +..     . ||      ..o . . o..||      E    . . +o||                o|+-----------------+

您应该保留标准目录并选择一个适当困难的密码短语。

刚才创建的两个文件是key和keyhole。第一个文件'id_rsa'是密钥。 你不应该把它给别人,也不应该允许别人复制它。 第二个文件'id_rsa.pub'钥匙孔。它是公开的,你可以把它给任何人。 在这种情况下,把它交给hpc。

如果您打开'id_rsa.pub',它应该包含一行,类似于:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwRDgM+iQg7OaX/CFq1sZ9jl206nYIhW9SMBqsOIRvGM68/6o6uxZo/D4IlmQI9sAcU5FVNEt9dvDanRqUlC7ZtcOGOCqZsj1HTGD3LcOiPNHYPvi1auEwrXv1hDh4pmJwdgZCRnpewNl+I6RNBiZUyzLzp0/2eIyf4TqG1rpHRNjmtS9turANIv1GK1ONIO7RfVmmIk/jjTQJU9iJqje9ZSXTSm7rUG4W8q+mWcnACReVChc+9mVZDOb3gUZV1Vs8e7G36nj6XfHw51y1B1lrlnPQJ7U3JdqPz6AG3Je39cR1vnfALxBSpF5QbTHTJOX5ke+sNKo//kDyWWlfzz3rQ== heiko@clove.ch.ic.ac.uk

现在登录到hpc并打开(或创建)文件'~/.ssh/authorized_keys'。 在文件末尾的新行中,您应该添加一个注释(以开头),说明该密钥对来自何处 然后在第二行中,您应该复制并粘贴“id_rsa.pub”文件的完整内容。

#MAC in the office
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwRDgM+iQg7OaX/CFq1sZ9jl206nYIhW9SMBqsOIRvGM68/6o6uxZo/D4IlmQI9sAcU5FVNEt9dvDanRqUlC7ZtcOGOCqZsj1HTGD3LcOiPNHYPvi1auEwrXv1hDh4pmJwdgZCRnpewNl+I6RNBiZUyzLzp0/2eIyf4TqG1rpHRNjmtS9turANIv1GK1ONIO7RfVmmIk/jjTQJU9iJqje9ZSXTSm7rUG4W8q+mWcnACReVChc+9mVZDOb3gUZV1Vs8e7G36nj6XfHw51y1B1lrlnPQJ7U3JdqPz6AG3Je39cR1vnfALxBSpF5QbTHTJOX5ke+sNKo//kDyWWlfzz3rQ== heiko@clove.ch.ic.ac.uk

关闭“授权密钥”文件和与HPC的连接。现在再次连接。 将要求您输入密钥文件的密码短语。输入它。 您现在应该登录到hpc。如果您不需要密码,而是需要您帐户的密码, 服务器不接受您的密钥对。

到目前为止,我们已将为您的帐户输入密码替换为为为您的密钥对输入密码短语。 这就是所谓的ssh代理的用武之地。代理将为您存储密码,因此您没有 再进入他们。幸运的是MacOS有一个内置的,它应该会弹出并问你,是否需要 代理来处理你的密码。如果你说“是”,那是你最后一次听到或看到 或者你的密码。类似的代理或多或少存在于每一个操作系统中。从现在开始你只需要 输入主机名和用户名即可登录。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java对ServiceListener和ServiceTracker调用提供了哪些排序保证?   java找不到方法格式的符号(DateTimeFormatter)?   mysql有没有一种方法可以将TCPDump输出到一个文件中,并用Java对其进行过滤,每5秒钟用新数据覆盖一次该文件?   java如何最好地配置用户上传支持文件的上传位置   java我在Android上使用OData4j,我无法获取实体   JPA实体关系简单示例中的java获取错误   JAVANoClassDefFoundError:安卓。应用程序。用法安卓中的UsageStatsManager   Eclipse中javaoo代码分析   java MethodVisitor抛出类格式错误   java为什么在从ViewModel调用时,改型排队不起作用?   调试小程序Java控制台:删除跟踪消息大小限制   java复杂安卓活动动画   java如何在使用JDOM2解析XML时忽略注释内容   java通过循环创建文本字段   即使在bufferedwriter关闭后也未发现java文件异常   单链表恢复中的java错误