使用扭矩使头节点上的本地共享库可用于计算节点

时间:2014-02-21 13:59:43

标签: boost torque

这方面已经提出了更为复杂的问题并在其他地方得到了回答:这个问题可能过于微不足道。在一个集群中,我有一个编译并链接到/ usr / local / lib头节点上的共享boost库的程序,这个boost版本比集群分发版本更新。程序在头节点上运行正常,因为我已导出LD_LIBRARY_PATH。如果我尝试使用扭矩调度程序运行它,则计算节点上的库不可用,因此在加载共享库时会产生错误..."。除了将boost作为静态库重建并以这种方式链接程序之外,还有一种简单的方法可以使这些库可用于所有节点吗?只需在作业脚本中导出路径,即

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

不起作用,因为显然路径不存在于计算节点上。这似乎是一个愚蠢的问题,但是在头节点上使本地对象可用于所有计算节点的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

人们这样做的最常见方式是在计算节点上安装库。有时,这意味着将其安装在节点的子集上,使用功能标记这些节点,然后为特定作业将使用的节点要求该功能。其他时候,它在任何地方安装库,以便您不必担心它,但这些是解决此问题的最常见方法。

如果版本控制在计算节点上难以管理,那么将库静态编译到您的程序中可能是您​​唯一的选择。