Как настроить Python в кластере GPU?

У меня есть кластер графических процессоров с одним узлом хранения и несколькими вычислительными узлами, каждый из которых имеет 8 графических процессоров. Я настраиваю кластер.

Одной из задач является настройка python, нам нужно несколько версий Python и несколько пакетов python, а для некоторых пакетов нам может потребоваться несколько его версий, например, другая версия tensorflow.

Итак, вопрос в том, как настроить python и пакеты так, чтобы было удобно использовать другую версию пакета, которую я хочу использовать.

Я установил как python2.7, так и python3.6 в каждом вычислительном узле и в узле хранения. Но я думаю, что это хороший способ, если нужно настроить огромное количество вычислительных узлов. Одним из решений является установка python в общий каталог кластера вместо пути по умолчанию /usr/local. У кого-нибудь есть лучший способ сделать это?

Сейчас я использую OpenPBS (Torque), и я новичок в HPC.

Большое спасибо.


person Yao Yingjie    schedule 09.11.2017    source источник


Ответы (2)


Вы можете установить программную среду модулей в общий каталог, доступный на каждом узле. Тогда будет легко загрузить конкретную версию python или TensorFlow:

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

Затем, если для некоторых пакетов нам может потребоваться несколько версий, вы можете посмотреть Python virtualenv, который позволяет установить несколько версий одного и того же пакета. Чтобы поделиться им на всех узлах, подумайте о том, чтобы создать виртуальную среду на общей точке монтирования.

person cparisot    schedule 08.12.2017

Вы можете установить каждую часть программного обеспечения на узле хранения в определенном каталоге и смонтировать этот каталог на вычислительных узлах. Тогда вам не придется устанавливать каждую программу несколько раз.

Распространенным решением этой проблемы являются модули среды. Вы устанавливаете свое программное обеспечение как модуль. Это означает, что программное обеспечение устанавливается в определенный каталог (например, /opt/modules/python/3.6/) вместе с файлом модуля. Когда вы выполняете module load python/3.6, файл модуля устанавливает переменные среды таким образом, что Python3.6 находится в PATH, PYTHONPATH и т. д.

Это приводит к хорошему разделению вашего программного стека, а также позволяет вам устанавливать более новые версии tensorflow, не портя среду.

person Fex    schedule 10.11.2017