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 Spring数据JPA+Hibernate在不首先找到父实体的情况下保存子实体   php Java:如何从CLI接收命令   spring为java中的导出数据创建访问文件   java在Windows 8.1上安装Play Framework   java Spring启动白标签错误页面(类型=未找到,状态=404)   java如何在单击时从数组中绘制?   java fn:substringAfter()上次出现   java在IFR语句中使用方法返回   java onPause()或onStop()的名称   对关联对象的关联对象具有条件的java HQL查询   java只打印一次总值,无需迭代   java如何使用抽象Uri buildOn()方法?   如何在Java中执行sudo命令并获得错误输出?   java反射:避免对getConstructor(类<?>…)的未经检查的警告调用作为原始类型类的成员   Java:如何从类中创建的对象调用类方法?   java如何在电子邮件中嵌入图像?   java如何在Android上启用详细GC?   java什么是串行版本id?