Использование Anaconda и создание собственных Python окружений
Для выполнения расчетов с помощью Python, как правило, требуются дополнительные библиотеки. Наиболее оптимальным способом загрузки дополнительных библиотек является использование программного пакета Anaconda. Это удобный менеджер пакетов Python, предназначенный для создания изолированных окружений Python и автоматического разрешения зависимостей. На сервере уже имеется базовая конфигурация Anaconda, которую можно подключить следующей командой:
~$ module load anaconda/2020.07
Затем необходимо активировать окружение:
~$ conda init bash
И перезапустить ssh соедениение
После подключения этого модуля становятся доступными для использования большинство наиболее популярных библиотек Python, в том числе pytorch, tensorflow.
Полный список базовых библиотек можно посмотреть следующей командой:
~$ conda list Установка других пакетов или обновление версий в базовом окружении невозможна.
Если вам необходимо установить пакеты или версии пакетов, которых нет в базовом окружении, то потребуется создать своё собственное изолированное окружение и установить в него требуемые для расчетов пакеты:
~$ conda create -n <имя окружения> python=<версия python>
Например, для создания окружения «my_py_env1» на базе последней версии Python 3 воспользуйтесь следующей командой:
~$ conda create -n my_py_env1 python=3 На запрос об установке новых пакетов ответьте «y».
Далее необходимо задействовать созданное окружение:
~$ source activate my_py_env1
После активации в приглашении терминала появится префикс с именем окружения: (my_py_env1):
[testuser@gpu-host~]$ python -V
Для вывода списка доступных окружений используйте команду:
~$ conda env list
Для установки необходимых пакетов используйте команду conda install, например, для установки последней версии NumPy:
~$ conda install numpy
С помощью команды conda search выполняется поиск пакетов в репозиториях Anaconda:
~$ conda search keras
Отключить окружение (например, для выбора другого):
~$ conda deactivate
Полная документация по использованию conda: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
Настройка окружения Python для работы с GPU Для работы с GPU на вычислительных узлах необходимо предварительно настроить изолированное окружение Python на логин-сервере вычислительного комплекса:
-
Выгрузить все загруженные модули и активировать модуль Anaconda: ~$ module purge; module load anaconda/2020.07
-
Создать и активировать новое изолированное окружение Anaconda: ~$ conda create -n my_py_env ~$ conda activate my_py_env Рекомендуется в файл ~/.bashrc добавить строчку conda activate my_py_env. В этом случае, при запуске задачи через srun, будет автоматически активироваться созданное окружение.
-
Установить необходимые пакеты Python: ~$ conda install tensorflow-gpu pytorch
-
Пакеты, которым для установки необходимо наличие GPU, необходимо предварительно скачать, затем выделить вычислительный узел с GPU и установить пакет с локального каталога. Например, для установки пакета pytorch_scatter из git-репозитория следует выполнить следующие команды: ~$ git clone https://github.com/rusty1s/pytorch_scatter ~$ srun --pty --cpus-per-task 1 --gpus 1 bash ~$ cd pytorch_scatter ~$ pip install -e. Здесь точка в конце команды означает указание на текущий каталог — будет выполнена сборка и установка модуля из текущей директории.
-
Провести проверочный запуск на 1 GPU и подготовить скрипт-файл для sbatch по примеру из инструкции по запуску задач.
-
Пример sbatch-скрипта
-
#!/bin/bash #SBATCH --job-name=test #SBATCH --gres=gpu:2 module purge module load anaconda/2020.07 source deactivate source activate my_py_env which python python -V
|