|
|
Интервью в номер
А почему бы не гибридные?
О вычислениях на графических процессорах
На прошедшей в феврале XVI конференции Объединения молодых ученых и специалистов ОИЯИ одну из пленарных лекций, а именно о вычислениях на графических процессорах, прочитал сотрудник ЛФВЭ Е.Е.Перепёлкин. Он же предложил всем желающим поучаствовать в тематическом мастер-классе. И то и другое вызвало живой интерес участников конференции. Что же такое графические процессоры, и какие возможности они открывают, мы решили узнать у самого Евгения ПЕРЕПЁЛКИНА - старшего научного сотрудника сектора прикладных радиационных технологий отделения N5 ЛФВЭ.
Идея производить вычисления на графических процессорах, а не на центральных, что называется, витала в воздухе давно. Для ее широкого применения в прикладных задачах науки и техники требовалось наличие понятного и простого интерфейса общения между программистом и самим графическим процессором. Такой интерфейс был разработан корпорацией NVIDIA в 2006 году. Для работы нам была необходима видеокарта, поддерживающая данную технологию. С деньгами помог начальник отделения доктор физико-математических наук, профессор С.И.Тютюнников, и в 2009 году у нас появился первый профессиональный модуль Tesla C1060 для высокопроизводительных вычислений. До этого момента мы работали на бюджетном варианте GeForce 8800GTX.
Работая с Tesla, мы постепенно вышли на лидера по производству современных графических процессоров корпорацию NVIDIA. Благодаря технологии NVIDIA пользователь больше фокусируется на своей конкретной задаче, а не на том, как ее запрограммировать. Кстати, свои графические процессоры NVIDIA называет именами великих физиков: уже есть разработка Tesla, в начале следующего года появится Kepler, за ним должен последовать Maxwell.
В чем принципиальное отличие между вычислениями с использованием графического процессора и центрального процессора?
Для начала отметим, что центральный процессор состоит из небольшого количества (около 10) мощных вычислительных ядер. Графический процессор, напротив, содержит большое количество (512) маломощных вычислительных ядер. Поэтому центральный процессор пытается максимально быстро выполнить одну операцию, две операции и так далее. Графический пытается сделать максимум операций одновременно, пусть даже каждая из них выполняется не так быстро, как на центральном процессоре. При этом отметим, что число одновременно выполняемых операций на графическом процессоре существенно превышает число вычислительных ядер. Так, например, на Tesla 10 имеется 240 вычислительных ядер, а число вычислительных потоков более 30 000!
Заметим, что графический процессор не пытается полностью заменить центральный. Он играет роль математического сопроцессора, перенося центр тяжести вычислений на себя, и тем самым получается гибридная модель вычислений. В большом классе задач такой подход позволяет ускорить вычисления в десятки и сотни раз.
Второе отличие графического процессора от центрального - низкое энергопотребление на единицу производительности. В зависимости от вида решаемой задачи выигрыш может составлять до десятков раз.
Конечно, не все задачи эффективно распараллеливаются на графических процессорах, однако есть целый спектр областей, где уже сейчас достигнуты серьезные результаты. Вот некоторые из них: нефтегазовая промышленность, финансы (оценка рисков), прочностные расчеты, электромагнитный дизайн установок, физика частиц, компьютерная томография, биоинформатика, биохимия, молекулярная динамика, медицина, задачи аэро- и гидродинамики, компьютерное зрение, системы безопасности, инженерные CAD-системы и еще много других задач из разных сфер нашей жизни.
Одной из амбициозных проблем индустрии высокопроизводительных вычислений является создание эксафлопного суперкомпьютера (то есть выполняющего 1018 операций в секунду - в тысячу раз мощнее, чем нынешний петафлопный). По первым оценкам, для его работы потребуется 2 ГВт электроэнергии (это мощность, вырабатываемая, например, Бурейской ГЭС). На данный момент идут поиски решений такой проблемы, и много доводов высказывается в сторону гибридной архитектуры, основанной на использовании ARM-процессоров в сочетании с графическими ядрами.
Возвращаясь к нашим проблемам, получается, что для повышения эффективности научных разработок надо, чтобы в каждой лаборатории Института появился графический процессор?
Они и сейчас уже кое-где есть - в ЛИТ, ЛФВЭ. В нашей группе, возглавляемой ведущим научным сотрудником, кандидатом технических наук И.П.Юдиным, была рассчитана линия инжекции для проекта медицинского синхротрона. Использование графических процессоров позволило сделать это в сто раз быстрее, чем при работе на центральном процессоре.
Покупать графические процессоры нужно под конкретные задачи. О возможностях этих процессоров я второй год читаю курс лекций в университете "Дубна", начал курс занятий для молодых ученых и специалистов ОИЯИ.
Хочется, чтобы задачи, над которыми работают мои слушатели, были решены с помощью полученных на занятиях знаний.
Неплохо было бы купить кластер - суперкомпьютер на графических картах, который можно использовать как центр коллективного пользования сотрудников разных лабораторий ОИЯИ. Ну а пока результатом будет уже и то, если в Институте образуется некое сообщество специалистов, ориентирующихся в этой технологии и готовых ее использовать на практике.
Россия постепенно приобщается к мировым тенденциям в этом направлении, в последние годы курсы по графическим процессорам начали читаться в 20 университетах страны.
Мы попросили прокомментировать этот материал заместителя директора ЛИТ В.В.КОРЕНЬКОВА:
Мы, естественно, занимаемся графическими процессорами и знакомы с работами Е.Е.Перепёлкина и его коллег. Мы приобрели и установили в ЛИТ несколько серверов и рабочих станций с графическими процессорами, чтобы пользователи могли постепенно осваивать эту технологию и переводить свои программы на графические процессоры, но пользуется этими возможностями пока небольшая группа энтузиастов.
Внедрение технологий параллельных и гибридных вычислений с использованием графических процессоров в ОИЯИ крайне необходимо, но с этим связано много трудностей, поскольку специалистов, умеющих эффективно пользоваться средствами параллельного и гибридного программирования, в нашем Институте очень мало. Подавляющее большинство пользователей ОИЯИ (более 80 процентов) участвуют в обработке и анализе экспериментальных данных, которые получают на больших установках. В крупных программных комплексах, созданных, например, на LHC, практически не используются параллельные и гибридные вычисления. Но в ОИЯИ много классов задач, для которых параллельные и гибридные вычисления могут дать существенный выигрыш во времени. ЛИТ планирует существенно увеличить мощность кластера для параллельных и гибридных вычислений, но мы заинтересованы, чтобы эти ресурсы эффективно использовались.
Ольга ТАРАНТИНА
|