В Уральском федеральном университете прошла первая трехдневная школа по структурному параллельному программированию. Желающих поучаствовать в ней оказалось в два раза больше, чем ожидали организаторы.

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

Подать заявку на участие мог любой желающий без ограничений по уровню подготовки. Главный критерий — умение программировать на С/С++. Предварительно курс был рассчитан на 25 человек, но заявок пришло в 2 раза больше. Организаторы решили позвать всех, в итоге заинтересовавшихся и стабильно посещающих занятия оказалось 35 участников.

Программа школы включала темы, интересные как для начинающих, так и для продвинутых разработчиков. Но, по словам организаторов, в следующем году есть планы разделить школу на два потока-трека: один — для стартового погружения в параллельное программирование, второй — для более глубокого изучения темы.

Андрей Созыкин, заведующий кафедрой высокопроизводительных компьютерных технологий УрФУ, организатор школы: «В МГУ подобная школа проводится уже не первый год и в 6 потоков. Мы только начинаем, поэтому пока планируем расшириться до 2 трекови проводить школу в УрФУ на регулярной основе. Может быть, и количество дней школы увеличим с трех до пяти, чтобы добавить больше практики: пока участники не попробуют что-то сделать сами, они ничему не научатся».

Школа прошла при поддержке компаний «СКБ Контур», УЦСБ и Intel. Представитель последней, Дмитрий Петунин, провел для участников мастер-класс по оптимизации, на котором продемонстрировал возможности по ускорению работы параллельных программ. Предварительно участникам предлагалось прислать свои программы, чтобы одну из них оптимизировать в качестве примера.

В итоге на мастер-классе демонстрировалась работа над ускорением программы проекта «Персонифицированные математические модели в кардиологии» (она оказалась самой крупной и объемной из заявленных). Программа предназначена для моделирования работы человеческого сердца. В исходном варианте просчет 1 секунды функционирования сердца занимал примерно трое суток, после оптимизации удалось добиться ускорения программы в 4 раза. По словам специалистов, полученный результат — не предел. Как правило, удается получить ускорение в 5-6 раз.

Три дня школы прошли достаточно быстро: кто-то из участников познакомился с темой и начал осваивать параллельное программирование, кто-то получил практические рекомендации по дальнейшей работе и оптимизации собственных проектов и программ, ну а организаторы тем временем уже задумались над проведением следующей школы. Она будет посвящена параллельному программированию на графических ускорителях компании NVIDIA. Школа пройдет с 30 марта по 3 апреля 2015 г. в УрФУ.