Jupyter Notebook — мощный инструмент для интерактивного анализа данных и научных вычислений. Хотя он обычно используется на локальных компьютерах, запуск Jupyter Notebooks в системах высокопроизводительных вычислений (HPC) может значительно улучшить вычислительные возможности. В этой статье мы рассмотрим различные методы запуска Jupyter Notebooks в системах HPC, а также приведем примеры кода для каждого метода.
Методы запуска Jupyter Notebook на HPC:
-
Переадресация портов SSH:
- Установите SSH-соединение с системой HPC.
- Перенаправьте порт, используемый сервером Jupyter Notebook, на ваш локальный компьютер.
- Запустите сервер Jupyter Notebook в системе HPC.
- Откройте блокнот Jupyter в локальном веб-браузере.
ssh -L 8888:localhost:8888 username@hpc-system jupyter notebook --no-browser -
Пакетная отправка заданий:
- Создайте пакетный скрипт, указав необходимые ресурсы и команду Jupyter Notebook.
- Отправьте пакетный сценарий в планировщик HPC.
- Подождите, пока задание запустится и получите выделенные ресурсы.
- Доступ к Jupyter Notebook, используя выделенные ресурсы.
# Example batch script (e.g., slurm.sh for SLURM scheduler) #!/bin/bash #SBATCH -N 1 #SBATCH -c 4 #SBATCH --gres=gpu:1 # Load necessary modules and activate virtual environment module load python/3.8 source activate myenv # Launch Jupyter Notebook jupyter notebook --no-browser -
Контейнеризация:
- Создайте образ Docker, содержащий необходимые зависимости и блокнот Jupyter.
- Отправьте образ Docker в реестр контейнеров.
- Запустите образ Docker в системе HPC.
- Доступ к Jupyter Notebook через открытый порт.
# Example Dockerfile FROM python:3.8 # Install dependencies RUN pip install jupyter # Copy notebooks and scripts COPY notebooks /app/notebooks # Set working directory WORKDIR /app # Expose Jupyter Notebook port EXPOSE 8888 # Launch Jupyter Notebook CMD ["jupyter", "notebook", "--ip=0.0.0.0", "--no-browser"] # Build and run Docker image docker build -t myjupyter . docker run -p 8888:8888 myjupyter -
Интерактивная подача вакансий:
- Запросите интерактивный сеанс в системе HPC.
- Загрузите необходимые модули и активируйте виртуальную среду.
- Запустите сервер Jupyter Notebook.
- Доступ к Jupyter Notebook, используя выделенные ресурсы.
# Example command for SLURM scheduler srun -N 1 -c 4 --gres=gpu:1 jupyter notebook --no-browser
Работа Jupyter Notebooks на высокопроизводительных вычислительных системах открывает новые возможности для анализа данных и научных вычислений. Используя переадресацию портов SSH, пакетную отправку заданий, контейнеризацию и интерактивную отправку заданий, пользователи могут использовать мощь ресурсов HPC, сохраняя при этом гибкость и удобство Jupyter Notebooks.