Применение платформы Python для высокопроизводительных вычислений

Руководители научной школы: 

Русол Андрей Владимирович, к.т.н., с.н.с. ГЕОХИ РАН

Аннотация: 

Данная научная школа посвящена обзору основных возможностей языка Python, которые превращают его в платформу научных и инженерных вычислений. В настоящий момент Python обладает широким набором инструментов для построения вычислительных систем в широком диапазоне архитектур: от ноутбуков до высокопроизводительных суперкомпьютеров. В рамках школы предполагается дать основные сведения о применении Python для решения научных и инженерных вычислительных задач, хранению и обработке полученных результатов. В качестве базовых возможностей решения вычислительных задач и визуализации результатов, хранения и обработки данных в Python будут рассмотрены пакеты NumPy, SciPy, Matplotlib, H5Py, Pandas. Планируется уделить внимание реализованным в Python механизмам поддержки функциональности технологий параллельного программирования MPI и Nvidia CUDA, существенно расширяющим базовые возможности. Пакет MPI4Py обеспечивает Python такие возможности, как работа с группами и коммуникаторами, организация параллельного ввода-вывода, односторонние коммуникации, обработка ошибок и т.п. Основную возможность использования технологии Nvidia CUDA в Python обеспечивает пакет PyCUDA, при рассмотрении которого будут отмечены способы распределения работ и синхронизации, а также дополнительные вспомогательные процедуры. Помимо этих возможностей, для выполнения высокопроизводительных вычислений в Python реализован ряд специализированных JIT-компиляторов, существенно ускоряющих выполнение кода. В школе предполагается уделить внимание использованию JIT-компиляторов, представленных в пакете Numba. Школа предполагает выполнение практических заданий, в том числе и на суперкомпьютерах «Ломоносов» и Blue Gene/P.

 

Требования: Слушатели должны обладать базовыми знаниями по алгоритмизации и программированию, знать особенности синтаксиса языка программирования Python.