Запуск Jupyter Notebook для вычислений
Использование: только для запуска уже подготовленных расчетов на сервере. Запрещается использовать установленный на сервере JUPYTER NOTEBOOK для учебной работы и для процесса разработки!
Для учебных целей рекомендуется использовать бесплатный web-сервис Google Colab.
Процесс запуска Jupyter Notebook на сервере:
1. Подключаемся по протоколу ssh к серверу nv.hpc.susu.ru на порту 3322. Это можно сделать через Putty в Windows, ssh/cyberduck в Linux/Mac.
~$ ssh -p 3322 nv.hpc.susu.ru
3. Вы должны будете попасть на сервер и увидеть приветственное сообщение с инструкцией по запуску Jupyter Notebook
Для работы с Jupyter Notebook выполните следующие команды:
4. Выполните команду
~$ module load anaconda/2020.07
5. Рекомендуется создавать личные окружения для работы с библиотеками:
~$ conda create -n <название_окружения> -python=<версия_python>
6. Затем необходимо активировать окружение и перезапустить ssh подключение:
~$ conda init bash
~$ exit
7. Затем снова подключаемся к серверу и увидим, что перед именем пользователя появится следующее:
~$ ssh -p 3322 nv.hpc.susu.ru
~$ (base)<ваше_имя_пользователя>@gpu:/home/…
8. Это означает, что все выполнено корректно и можно подключаться к вашему окружению conda:
~$ conda activate <имя_окружения>
9. Вы увидите следующее:
~$ (<название_окружения>)<ваше_имя_пользователя>@gpu:/home/...
10. Для того, чтобы Jupyter Notebook использовал установленные библиотеки необходимо установить его в ваше conda окружение:
~$ conda install jupyter notebook
11. После этого вы можете устанавливать необходимые библиотеки в ваше окружение, например:
~$ conda install tensorflow-gpu или conda install pythorch
12, Запуск Jupyter Notebook с 2-мя Tesla K40m и 2 ядрами процессора:
~$ sbatch --gres=gpu:2 -c 2 run_notebook
13. Примечание: весь стандартный вывод будет находиться в файле notebook-<номер задачи>.out (в том числе порт для «проброса» на локальную машину и токен).
Пример вывода в файле:
PORT TO USE: 4001
User's jupyter not found. Loading system env. [I 15:13:41.946 NotebookApp] The Jupyter Notebook is running at: [I 15:13:41.946 NotebookApp] http://localhost:4001/?token=bd2a687a42e6073d982254bcb504601b45453764abfe64e5
14. После того, как задача начнет выполняться она получит статус «R» в squeue (список всех задач в очереди), нужно «пробросить» порт на локальную машину, чтобы получить доступ к выполняемому notebook из браузера:
- Для Linux/MacOS: из терминала локального ПК выполните команду:
ssh -p 3322 ВАШ_ЛОГИН@nv.hpc.susu.ru -L 8080:localhost:<PORT>
где 8080 — локальный порт для доступа в браузере, а <PORT> — тот, что указан в выводе notebook-<номер задачи>.out
Вам будет необходимо два раза ввести ваш пароль
- Для Windows предлагается использовать наиболее популярный ssh-клиент — Putty (в примере на скриншотах использовался порт 1339):
15. Теперь можно зайти в браузере на локальной машине по http://localhost:8080, ввести токен из файла notebook-<jobid>.out и выполнять расчеты.
Убедительная просьба в случае того, если расчёт в Jupyter Notebook был завершен ранее установленного времени нажать кнопку Quit в браузере или остановить свою задачу командой scancel [номер задачи]!!! Тем самым освободив ограниченные ресурсы!
|