Книги / AI и ML / PyTorch / Параллельное программирование на Python. Код на Python для ПК и кластеров с использованием CUDA, PyTorch и Dask

Параллельное программирование на Python. Код на Python для ПК и кластеров с использованием CUDA, PyTorch и Dask

Фабио Нелли

Книга Фабио Нелли «Параллельное программирование на Python» представляет собой последовательное руководство по методам параллельных и высокопроизводительных вычислений на языке Python. Автор начинает с базовых концепций параллелизма, таких как процессы, потоки и модели многозадачности, и постепенно переходит к современным инструментам, включая CUDA, PyTorch и Dask. Практические примеры охватывают применение параллельных подходов в аналитике данных, машинном обучении и научном моделировании, что делает книгу полезной для инженеров и исследователей.

В первой части книги рассматриваются фундаментальные принципы параллельного программирования, включая управление потоками, синхронизацию и оценку эффективности. Особое внимание уделяется особенностям реализации параллелизма в Python, таким как GIL и способы его обхода. Читатель узнает, как использовать модули threading и multiprocessing для создания конкурентных и параллельных приложений.

Далее автор углубляется в распределенные вычисления, представляя библиотеку mpi4py для обмена сообщениями между процессами и Dask для масштабирования вычислений на кластерах. Отдельные главы посвящены использованию GPU-ускорения с CUDA и интеграции PyTorch для параллельного обучения нейронных сетей. Эти инструменты позволяют решать задачи, требующие значительных вычислительных ресурсов.

Книга также рассматривает современные тенденции развития параллельных вычислений и их влияние на экосистему Python. Автор обсуждает ограничения и компромиссы различных моделей параллелизма, помогая читателю выбирать оптимальные архитектурные решения в зависимости от характера нагрузки. Это издание будет полезно как практикующим инженерам, так и студентам технических специальностей, изучающим параллельное и распределенное программирование.

Изложение сопровождается множеством практических примеров и упражнений, что позволяет закрепить полученные знания. Для успешного освоения материала желательны базовые навыки программирования на Python и понимание принципов работы операционных систем. Книга переведена на русский язык и адаптирована для русскоязычной аудитории.