使用远程主机和计算群集
概述
AMD Vivado™集成设计环境(IDE)支持同时并行合成和实现的执行在多个Linux主机上运行。你可以做到这一点通过配置单个主机或指定要在其上启动作业的命令手动执行现有的计算集群。目前,Linux是Vivado唯一支持远程主机配置的操作系统。通过选择“工具”,可以通过“工具”菜单访问远程主机设置 → 设置 → 远程主机。
要求
在远程Linux主机上启动合成和实现运行的要求是:
•假设Vivado工具安装可从登录外壳中获得,这意味着$XILINX_VIVADO和$PATH在.cshrc/.bashrc设置脚本中配置正确。shell使用$PATH来查找vivado可执行文件,而使用$XILINX_vivado一些XILINX工具来获取vivado的可执行路径。最好同时设置这两个将环境变量添加到.cshrc/.bashrc设置脚本中的vivado可执行文件中。或者,对于手动配置,如果您在登录时没有设置Vivado(CSHRC或BASHRC),使用下面描述的运行预启动脚本选项来定义环境要在所有作业之前运行的安装脚本。
•Vivado IDE安装必须从远程机器上安装的文件系统中可见。如果Vivado IDE安装存储在您自己计算机上的本地磁盘上,可能不是从远程机器可见。
•Vivado IDE项目文件(.xpr)和目录(.data和.runs)必须从在远程机器上安装的文件系统。如果将设计数据保存到本地磁盘,则可能从远程机器看不到。
手动配置
手动配置远程主机允许您指定其上的各个计算机名称Vivado可以执行。Vivado将在这些机器上打开安全外壳(SSH)并生成额外的Vivado工艺。可以通过单击中显示的添加按钮来添加主机名下图。添加后,可以选择每个主机的作业数,主机也可以选择被禁用。必须提供用于启动作业的特定命令。如果您愿意,用户可以选择配置启动前和启动后的脚本以及电子邮件地址作业完成后会收到通知。
重要!指定“使用启动作业”命令时要小心。例如,移除BatchMode=yes可能会导致远程进程挂起,因为Secure Shell错误地提示交互式密码。
建议:在向主机提交运行之前,测试每个主机以确保正确设置。使用“贪婪”的循环式算法将作业提交给远程主机。之前在多个Linux主机上启动运行,重要的是要配置SSH,使主机不会每次启动远程跑步时都需要一个密码。
设置SSH密钥代理转发
您可以在Linux终端或shell上使用以下命令配置SSH。
注意:这是一次性步骤。成功设置后,无需重复此步骤。
1.在Linux终端或shell上运行以下命令,在您的主机。虽然不是必须的,但进入(并记住)私人
提示最高安全性时的关键短语。
ssh密钥根-t rsa
2.将发布密钥的内容附加到远程上的authorized_keys文件机器将remote_server更改为有效的主机名:cat ~/.ssh/id_rsa.pub|ssh remote_server“cat->>~/.sh/authorized_keys”
3.运行以下命令提示输入您的私钥密码,并启用密钥
转发:ssh添加现在,您应该可以在不输入密码的情况下对任何机器进行ssh。第一次你访问一台新机器时,它会提示您输入密码。后续不提示通道
提示:如果总是提示您输入密码,请与系统管理员联系。
群集配置
计算集群是通过接受作业的第三方工具配置的机器组,调度它们并有效地分配计算资源。常见计算集群包括LSF、SGE和SLURM。要将自定义计算集群添加到Vivado,可以单击加号工具栏按钮,如图def所示,并提供集群配置的名称。那么你需要指定向集群提交作业、取消集群上的作业等所需的命令,以及集群类型。Vivado本机支持LSF、SGE和SLURM。对于任何其他集群,您都可以在组合框中选择CUSTOM。可以通过按下测试来测试配置配置按钮。
SLURM特定配置
您可以使用ssh将Vivado配置为在SLURM上运行,以将客户端连接到调度程序。
在本例中,客户端机器名称为xcolc200189,调度程序机器名称为xcolc200185。
1.在客户端和调度程序上设置SSH密钥,以启用不带密码的SSH。
2.在客户端机器上启动Vivado。
3.创建自定义SLURM集群。
a.打开Vivado设置对话框(工具 → 设置)。
b.选择工具设置 → 远程主机 → 群集配置。
c.单击工具栏中的“+”按钮,创建新的集群配置。
d.填写以下表格。将类型保留为CUSTOM很重要。
4.在集群上启动作业以测试配置。
a.选择文件 → 项目 → 打开示例。
b.单击“下一步”。选择“BFT”,然后单击“下一步”。
c.选择名称和目录,然后单击“下一步”。
d.选择默认零件(xc7k70tfbg484-2),然后单击“下一步”。
e.单击“完成”。在“设计运行”窗口中,选择synth_1行,然后单击绿色播放工具栏按钮。
f.在“启动运行”对话框中,选择“在集群上启动运行”,然后在组合框中,选择上面创建的自定义集群名称。
g.单击“确定”启动作业。
h.在终端中,ssh进入调度程序机器,并使用调度程序机器上的squue命令。
i.在客户端上运行的Vivado会话中成功完成作业。