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第三方库


热门话题
关于JSP转发的java问题   强制Oracle驱动程序向java输出带有时区的时间戳。sql。使用getObject时的时间戳   Java中的配置单元UDF在创建表时失败   eclipse怀疑Java上下文加载器使用不再存在的文件   范围如何为我没有在JavaEE中编写的类定义单例对象?   java Eclipse未启动:JVM已终止。退出代码=14   仅存在于子类中的属性的java别名(Hibernate标准)   Java字符串插入错误   无法打开java@PropertySource,因为它不存在   java从多项目Maven配置生成WAR文件   java Hibernate@Lob注释不再有效:不能用几个字符串超过CLOB的总长度?   java jbutton的鼠标侦听器包含if/else循环阻塞的jvm?   java如何删除最近24小时安卓的通话记录   java Android服务+计数器不工作   java如何获取返回结果的服务器的数据,我希望将该结果更新到另一台服务器   java从javax获得“一切”是可能的。命名。初始上下文?   java Spring云门请求超时不适用于路径   java web应用程序会话缓存   java使用dialogflow的响应通过google助手打开我的应用程序   MongoDB添加createAt updatedAt字段java