Ускорение работы ML программ с использованием NVIDIA GPU

Ускоряем работу ML (Machine Learning) программ написанных на Python с помощью NVIDIA GPU

Python – один из самых популярных языков программирования для науки, инженерии, аналитики данных и приложений глубокого обучения. Однако, как интерпретируемый язык, он считается слишком медленным для высокопроизводительных вычислений. Это изменилось с CUDA Python от Continuum Analytics.

С CUDA Python, используя компилятор Numba Python, вы получаете лучшее из обоих миров: быстрое итеративное развитие с Python в сочетании со скоростью скомпилированного языка, ориентированного как на обычные процессоры, так и на графические процессоры NVIDIA.

Для запуска CUDA Python вам понадобится CUDA Toolkit, установленный в системе с графическими процессорами, поддерживающими CUDA.Если у вас нет графического процессора с поддержкой CUDA, вы можете получить доступ к одному из тысяч графических процессоров, доступных от поставщиков облачных услуг, включая Amazon AWS, Microsoft Azure и IBM SoftLayer. Поддерживаемый NVIDIA CUDA Amazon Machine Image (AMI) на AWS, например, поставляется с предустановленной CUDA и уже доступен для использования.
Используйте это руководство для простых шагов по установке CUDA. Чтобы настроить CUDA Python, сначала установите дистрибутив Anaconda python. Затем установите последнюю версию пакета Numba. Подробные инструкции по установке вы найдете в документации Numba.Или смотрите короткое видео .

 

Теперь вы готовы к разработке и запуску первой программы python на GPU. Посмотрите видео с примером простой программы оперирующей двумя большими массивами чисел.

Если вы новичок в Python, изучите раздел для начинающих на сайте Python, чтобы получить базовые знания. Так же интересен блог, “Простое введение в использование CUDA“, который представляет ключевые концепции CUDA с помощью простых примеров.

В документации Numba вы найдете информацию о том, как векторизовать функции, чтобы ускорять их автоматически, а также о том, как написать код CUDA в Python. Загрузите и выполните Jupyter Notebooks с примерами работы алгоритмов Mandelbrot и Monte Carlo Option Pricer на вашем локальном компьютере.

Практикуйтесь!Просмотрите репозиторий Numbas на github для получения дополнительных примеров.Кроме того, на сайте NVIDIA можно найти много интересных примеров использования CUDA, которые вы сможете опробовать самостоятельно.  Практикуйте методы, которые вы узнали в материалах выше, через практические занятия.Для более формального введения в CUDA изучите введение в параллельное программирование на ресурсе UDACITY. Курс охватывает серию алгоритмов для обработки изображений, которые, например, используются в Photoshop или Instagram. Вы сможете выполнять лабораторные работы с использованием кода для топовых GPU непосредственно на сайте UDACITY.

Источник

Добавить комментарий