跳转到主要内容

AiiDA插件,用于与伦敦帝国理工学院cx1 HPC接口

项目描述

Build Status PyPI Anaconda-Server Badge

aiida_icl

安装

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

AiiDA插件,用于在伦敦帝国理工学院工作HPC。

提供aiida.scheduler入口: pbspro_cx1

创建新的计算机

from aiida import load_profile()
from aiida_icl.utils import get_cx1_computer
load_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

from aiida_icl.utils import JOB_CLASSES, get_calulation_options
options = 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公钥和私钥

而不是直接使用密码访问远程主机,使用公钥认证,这是一种更安全的认证方法。互联网上有许多解释(包括这里)以下是一个简短的设置指南(摘自这里

首先在您想要连接的计算机上打开一个shell。输入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.uk
The key's randomart image is:
+--[ RSA 2048]----+
|           .o=   |
|           .+ .  |
|      .  ..+     |
|       oo =o..   |
|       .S+  o .  |
|       +..     . |
|      ..o . . o..|
|      E    . . +o|
|                o|
+-----------------+

您应该保留标准目录并选择一个合适的复杂密码。

您刚才创建的两个文件是密钥和钥匙孔。第一个文件'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

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

到目前为止,我们已经将输入账户密码替换为输入密钥对的密码短语。这就是所谓的SSH代理派上用场的地方。代理会为您存储密码短语,这样您就不再需要输入它们。幸运的是,MacOS内置了一个,它应该已经弹出并询问您是否希望代理处理您的密码短语。如果您说“是”,那将是您最后一次听到或看到它或密码短语。类似的代理存在于几乎所有操作系统上。从现在开始,您只需输入主机名和用户名,然后就可以登录。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

aiida-icl-0.3.4.tar.gz (9.2 kB 查看散列值)

上传时间 源代码

构建分发

aiida_icl-0.3.4-py3-none-any.whl (11.7 kB 查看散列值)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面