Intel oneAPI

Общая информация

ML Space & Intel® oneAPI — это набор предустановленных программных инструментов для экспертов в области машинного обучения, анализа данных и разработки ПО. Эти инструменты применяются для разработки, тестирования и запуска рабочих нагрузок на различных типах архитектур Intel®. В составе продуктов Intel® oneAPI используются предустановленные языки программирования, фреймворки и инструменты оптимизации. Фреймворки oneAPI содержат в себе ряд измененных библиотек, использующих оптимизированные инструкции CPU, что позволяет ускорить выполнение различных вычислительных задач.

Инструменты Intel® oneAPI доступны в рамках сервиса Environments. Пользователи могут создать Jupyter Server на базе одного из образов Intel® на выделенных ресурсах и запускать свой программный код в контейнере из интерфейса Jupyter на выделенном кластере.

Отслеживать статус задачи можно на вкладке Задачи и окружения → Jupyter Server Intel oneAPI.

Образы Intel oneAPI

В рамках ML Space можно создать Jupyter Server на базе следующих образов Intel®:

  • Intel® AI Analytics Toolkit. Позволяет ускорить разработку AI-приложений с инструментами для глубокого машинного обучения, инференса и анализа данных.

  • Intel® oneAPI Base Toolkit. Позволяет создавать и разрабатывать высокопроизводительные приложения для различных архитектур с основным набором инструментов и библиотек.

  • Intel® oneAPI HPC Toolkit. Позволяет разрабатывать высокопроизводительные и масштабируемые приложения на DPC++/C++, Fortran, OpenMP и MPI.

  • Intel® Distribution of OpenVINO™ Toolkit. Позволяет использовать инструменты Intel distribution of OpenVino для высокоэффективного инференса нейронных сетей.

Окружение Intel oneAPI

Для запуска программного кода в контейнере на базе одного из образов Intel oneAPI необходимо:

  1. Создать соответствующее окружение на базе одного из образов и дождаться инициализации окружения.

  2. Подключиться к Jupyter Server.

  3. Запустить код в интерфейсе Jupyter Server на выделенных ресурсах.

Создание окружения

Для создания окружения на базе одного из образов Intel oneAPI:

  1. Перейдите на вкладку Создать окружение → Intel oneAPI в главном меню сервиса Environments.

  2. Выберите тип окружения из списка (см. Образы Intel oneAPI) и нажмите кнопку Создать Jupyter Server.

  3. В диалоге Создание нового Jupyter Server:

    • Введите имя нового сервера в поле Название Jupyter Server. Имя следует вводить с учетом регистра. Разрешается применять следующие символы: строчные латинские буквы от a до z, цифры от 0 до 9, символ тире (–).

    • Выберите ресурсы на которых будет запущен Jupyter Server. Контейнер возможно запускать на следующих ресурсах:

      • CPU — 2, 16 Гб оперативной памяти.

      • CPU — 16, 128 Гб оперативной памяти.

      • CPU — 2, 16 Гб оперативной памяти.

      • CPU — 8, GPU — 1.

    • Ознакомьтесь и отметьте галочкой согласие с условиями лицензионных соглашений Intel®.

  4. Нажмите Создать.

Важно

Пользователи могут создать только один экземпляр Jupyter Server.

Подключение к Jupyter Server

Для подключения к Jupyter Server, созданному на базе одного из образов Intel oneAPI нажмите кнопку подключения в соответствующей строке. Возможны два варианта подключения: работа через интерфейс Jupyter Notebook и в JupyterLab.

Важно

Обратите внимание на то, что при первом подключении к серверу его инициализация может занимать некоторое время (в среднем, до 10 минут).

Работа с данными

Для работы с пользовательскими данными из интерфейса Jupyter эти данные необходимо поместить в NFS-хранилище кластера, где будет запускаться в контейнере программный код. Точкой монтирования NFS и кластера является текущая рабочая директория пользователя /home/jovyan/. Размещение данных на NFS, обзор данных и управление этими данными осуществляется из интерфейса Jupyter.

Так в Jupyter Notebook и среде разработки JupyterLab есть возможность работать из терминала или командной строки (Terminal). Командная строка является стандартной Linux консолью с интерпретатором bash. В ней можно исполнять привычные Linux-команды, например, wget, которая позволяет загружать любые файлы по протоколам http и https, а также файлы и списки каталогов по протоколу ftp. Таким образом, пользователи могут загружать файлы любыми известными способами через консоль и сохранять результаты выполнения программного кода, например, в виде чекпоинтов.

Важно

Для работы с данными существует ограничение в размере 50 ГБ на ноду.

В интерфейсе Jupyter можно запустить отладочный пример /home/jovyan/quick_start или использовать для этой цели примеры из репозитория Intel®.