РОБЕРТ ГЕВА: «Многоядерные процессоры сегодня используются практически во всех вычислительных устройствах, поэтому инструменты параллельного программирования востребованы как никогда»
РОБЕРТ ГЕВА: «Многоядерные процессоры сегодня используются практически во всех вычислительных устройствах, поэтому инструменты параллельного программирования востребованы как никогда»

То, что Intel выпускает не только микропроцессоры, но и инструменты для разработки ПО, для большинства специалистов не новость. Однако репутация ведущего производителя чипов затмевает все другие ипостаси корпорации, поэтому у организаторов конференции Intel Software Conference 2011 были сомнения, соберет ли мероприятие достаточную аудиторию. Опасения не оправдались, в конференции в Москве приняли участие более 200 человек. Специалисты Intel представили им свои решения в области параллельного программирования.

Основные инвестиции последнего времени с точки зрения разработки программного обеспечения Intel делает в создание инструментов, которые помогают в написании программ, способных с максимальной эффективностью использовать потенциал платформ компании. А поскольку главная тенденция в чипостроении сегодня — многоядерность, то программные продукты Intеl нацелены на оптимизацию разработки параллельных программ. Как заметил Роберт Гева, ведущий инженер группы Intel Software and Solutions Group, многоядерные процессоры сегодня используются практически во всех вычислительных устройствах, поэтому инструменты параллельного программирования востребованы как никогда.

Один из наиболее очевидных вариантов получения кода для исполнения на паралльных платформах — распараллеливание на этапе компиляции. Intel реализует этот вариант в семействе компиляторов Composer XE, которые обеспечивают создание высокопроизводительного параллельного исполняемого кода из последовательных программ на языках Си, C++ и Фортран.

Однако, как подчеркнул Гева, не менее важно уметь оптимизировать программу на этапе кодирования для исполнения на базе различных параллельных архитектур, будь то многоядерность, многопоточность внутри ядра или векторные конструкции. Для решения этой задачи предназначены инструменты набора Intel Parallel Building Blocks. В него входят три продукта. Cilk Plus — расширение для языков Си/C++, фактически три дополнительных ключевых слова, которые позволяют явно указать в программе, что должно исполняться параллельно. Intel предлагает реализации Cilk Plus для Windows и Linux и ведет разработку версий для Mac OS и мобильной платформы MeeGo. Второе решение — Array Building Blocks, библиотека времени выполнения для распараллеливания программ на C++, реализующих вычислительноемкие математические расчеты над одномерными и многомерными массивами данных. И последний компонент — библиотека Threading Building Blocks для распараллеливания программ на C++ на уровне задач, поддерживающая многопоточную модель параллелизма.

Рассказавший об этих инструментах Алексей Куканов из Intel SSG подчеркнул, что они предназначены для решения разных классов задач, но могут комбинироваться в разработке одной программы. Примечательно, что, кроме Роберта Гевы, все выступавшие на конференции специалисты Intel работают в России. Здесь у Intel самая большая численность сотрудников группы SSG, они занимаются разработкой и поддержкой около 70 программных продуктов компании. Так что докладчики на конференции рассказывали о том, над чем сами они непосредственно работают.

В России уже около тысячи участников партнерской программы Intel в области ПО. Но компания явно стремится активизировать свою деятельность в качестве производителя программных средств, свидетельством чему может служить и организация конференции для разработчиков. На рост популярности инструментов разработки и расширение числа владеющих ими специалистов направлены новые сертификационные программы Intel, которые компания реализует в том числе в сотрудничестве с Интернет-университетом информационных технологий (ИНТУИТ).