如何在 GPU 群集中配置 Python



我有一个 GPU 集群,有一个存储节点和几个计算节点,每个节点有 8 个 GPU。我正在配置群集。

任务之一是配置 python,我们需要的是几个版本的 Python 和一些 python 包,对于某些包,我们可能需要它的多个版本,例如不同版本的 tensorflow。

所以问题是如何配置 python 和包,以便方便地使用我想使用的不同版本的包。

我已经在每个计算节点和存储节点中安装了 python2.7 和 python3.6。但我认为,如果一个人有大量的计算节点要配置,这是一个好方法。 解决方案之一是将 python 安装在集群的共享目录中,而不是默认的/usr/local 路径。有人有更好的方法可以做到这一点吗?

我现在使用的是OpenPBS(Torque),我是HPC的新手。

多谢。

您可以将模块软件环境安装在每个节点上可访问的共享目录中。然后很容易加载特定版本的python或TensorFlow:

module load lang/Python/3.6.0
module load lib/Tensorflow/1.1.0

然后,如果对于某些软件包,我们可能需要多个版本,您可以查看允许安装同一软件包的多个版本的Python virtualenv。要在所有节点上共享它,请考虑在共享挂载点上创建 virtualenv。

您可以将每个软件安装在存储节点上的某个目录下,然后将该目录装载到计算节点上。这样,您就不必多次安装每个软件。

此问题的常见解决方案是环境模块。将软件作为模块安装。这意味着软件与模块文件一起安装在某个目录(例如/opt/modules/python/3.6/)中。当你做module load python/3.6时,模块文件设置环境变量,使得Python3.6在PATHPYTHONPATH等。

这导致软件堆栈的良好分离,并且还使您能够安装较新版本的 tensorflow,而不会弄乱环境。

最新更新