Программные продукты Intel — Как корабль назовешь…

8795c4fb621e02ea362f9d7e927b9497.pngКак говорится, как корабль назовёшь, так на нём и напиши. И вот на протяжении последних пяти с лишним лет, Intel® выпускает на рынок средства для разработчиков со звучными и «навороченными» названиями — Parallel Studio, Composer XE, VTune™ Amplifier XE и так далее. Честно говоря, названий и различных пакетов так много и они так часто «пересекаются», что возникает серьёзная путаница (скажу по секрету — даже внутри Intel), а нередко потенциальные пользователи просто не знают что же им нужно выбрать. Попытаемся упорядочить то, что было и есть в софтовой флотилии Intel, и разберём типичные проблемы с ее плавсоставом. Речь пойдет об инструментах для систем с общей памятью, кластерные средства рассматриваться не будут, хотя ситуация там во многом аналогичная.Все не так страшно! Проблемы Итак, ввиду путаницы возникает целый ряд проблем. «Нумеро уно» — где найти компилятор, причём нужную разработчикам версию? Не секрет, что достаточно часто возникает потребность в конкретном, стабильном, проверенном билде и нужно точно знать какой установочный пакет скачать и где. Согласитесь, далеко не очевидно, что название «Composer XE SP1» таит в себе компилятор версии 14.0. То ли дело — С++ Сompiler 11.1 — и сразу всё понятно.Вторая неопределенность заключается в том, что в одно время на рынке было представлено два пакета, название которых различалось всего на две буквы — Parallel Studio и Parallel Studio XE, а вот функционал разнился гораздо серьезнее. Сейчас такой проблемы, по существу, нет, но пользователи до сих пор помнят название Parallel Studio, и, для них это тоже самое, что и Parallel Studio XE. А ведь обновления для Parallel Studio до сих пор продаются через официальный сайт.

Кроме того, есть определённые проблемы и с общим пакетом Parallel Studio XE. Обновляется данный набор средств, доступный как один установочный файл, крайне редко. Хотя, обновления ее компонентов идут постоянно. К счастью, лицензия на весь пакет позволяет скачивать и компоненты отдельно, поэтому и приходится обновлять их в ручном режиме. Что, вообще говоря, ставит под сомнение саму логичность наличия единого установщика. Вот заплатил ты свои «кровные», получил целый набор средств, поставил, а выяснилось, что всё уже как 8 месяцев устарело, и обновлений на все компоненты вышло целая уйма. В принципе, эту сложность со временем тоже удалось решить.

Теперь попытаемся понять, почему мы получили такие названия и компоновку средств. Начнём с истории развития средств для разработки ПО, которые предлагает Intel. Далеко в прошлое уходить не будем — ограничимся пятилеткой.

Как таковых «пакетных» продуктов у Intel до 2008 года не было. Был компилятор, который так и назывался Intel Compiler, был профилировщик производительности VTune Performance Analyzer, инструменты для профилировки и отладки многопоточных приложений Thread Profiler, Thread Checker, библиотеки (TBB, IPP, MKL), но так вот чтобы прям всё и в одном месте — нет. Зато упомянутое время стало временем развития многоядерности, и, соответственно, расцвета параллельного программирования. И вот на сцену вышел набор средств в составе:

компилятора (Parallel Composer), профилировщика (Parallel Amplifier), динамического анализатора ошибок (Parallel Inspector), проектировщика параллелизма (Parallel Advisor). Соответственно, весь продукт назвали Parallel Studio, что весьма логично, не правда ли? Отметим, что был выпущен он только под Windows, и ориентирован был на mainstream разработчиков.Именно с пакета Parallel Studio и пошли названия, которые используются до сих пор. Но, обо всём по порядку. Во-первых, почему Composer, а не компилятор? Вопрос сложный, и стоило бы узнать у маркетологов. Но в моей голове возникает только следующее объяснение. Как говорил граф де Ла Фер, благородный Атос, назвать просто компилятором — «слишком мало». Ведь помимо непосредственно компилятора, туда включены ещё и библиотеки MKL, IPP, TBB (что имеет смысл, так как компилятор умеет например, определять, что код перемножает матрицы и вызывать для него оптимизированный код IPP). А называть по одной компоненте весь пакет — как-то много для компилятора. Хотя раньше так и было. Стоит ли говорить, что подобное переименование повлекло за собой много вопросов из разряда «куда делся компилятор то?» и «где нужная мне версия, чувак?», о чём я уже говорил.

Продолжим исторический обзор. Естественно, выпуск такого пакета только для Windows был лишь первым шагом, и достаточно быстро (спустя чуть больше года) появилась следующая версия — Parallel Studio XE. Две «лишние» буквы в названии достаточно серьёзно меняли не только прайс, но и суть. XE, кстати, обозначает eXtreme Edition. Пакет был уже не только для Windows, но и Linux, кроме того, появились различия в версиях компонент. Тот же компилятор в пакете Parallel Studio XE имел больший функционал, чем в Parallel Studio.

Долго два этих пакета просуществовать не смогли, да и не было такой цели — Parallel Studio ушла в историю, передав по наследству названия многих компонент. В итоге остался лишь пакет Parallel Studio XE — так сказать, выжил сильнейший:

Composer XE. Помним про то, что это компилятор и библиотеки. VTune Ampliifer XE. Да, да, наши маркетинговые друзья решили, что слово VTune поможет продажам, и, кстати, оказались весьма правы — VTune — инструмент-легенда. Удачно скомпонованные Parallel Amplifier (тот самый, который был в самом первом пакете Parallel Studio) + улучшенные VTune Performance Analyzer и Thread Profiler, дали на выходе отличное средство для профилировки многопоточных приложений. Inspector XE. Здесь скрестили Parallel Inspector и Thread Checker, плюс добавили в компилятор статический анализатор, который красиво отображал результаты именно в окне Инспектора. Кстати, эту функцию сделали доступной только для всего пакета Parallel Studio XE. Обратите внимание на исчезновение слова Parallel в начале названий всех компонент. Это связано с тем, что этими инструментами и компилировать и профилировать и инспектировать можно не только многопоточные, но и однопоточные приложения.Вот и всё, что было в пакете XE — 3 средства, призванных облегчить суровые реалии разработки ПО. Кстати, ввиду того, что проблема с названиями версий была очевидна, решили нумеровать их по годам. Таким образом, полное название у пакета было Intel Parallel Studio XE 2011.Понятно, что со временем появилась XE 2013, а с ней и новое средство — Advisor XE, существовавшее и до этого в рамках Parallel Studio, но для XE предлагавшаяся как отдельная экспериментальная «игрушка», которую можно было докачать. Впоследствии, Advisor XE так же стал полноценной частью студии.

Решения проблем Как же избежать путаницы и найти именно то, что нужно вам? Для начала, нужно быть очень внимательным и обращать внимание на любые различия в названии. Помним, что Intel Parallel Studio и Intel Parallel Studio XE — разные продукты, и лицензии для них нужны разные. Это относится и к компонентам студий. Скажем, Parallel Composer и Composer XE — не одно и то же! Если вы являетесь счастливым обладателем студии XE, приобретайте продление именно для этой версии. Кстати, приобрести можно и все компоненты по отдельности.Проблему с установкой самых последних версий частично решил Intel Software Manager. Теперь поставив общий пакет, он автоматически найдёт последние доступные для вас обновления и предложит их скачать и установить. Очень удобно, учитывая что раньше нужно было идти на Registration Center и делать всё вручную. Но, как я уже сказал, решает проблему частично — при некоторых конфигурациях отказывается работать корректно, в частности из-за слабой поддержки настроек proxy. Поставить его отдельно так же не получится, только с одной из последних версий студии или её компонент. Пока, к сожалению, есть и ряд других проблем, но в последней версии всё это будет учтено и исправлено.

Много информации можно найти на официальных ресурсах, правда в основном на языке Шекспира. Скажем, здесь есть содержимое всех пакетов по компонентам.

По поводу соответствия версий компилятора и пакета Composer XE, есть интересная табличка тут. Она поможет найти полное соответствие не только версий компилятора, но и библиотек. Тоже, кстати, нетривиальная задача. Я же решил набросать простенькую табличку и здесь, чтоб была:

Версия Composer XE Версия компилятора 2011 12.0, 12.1 2013 13.0, 13.1 2013 SP1 14.0 2015 15.0 Кстати, хорошо видно, что если раньше в одну версию пакета входили две версии компилятора, то, похоже, сейчас мы переходим на новый принцип. По крайней мере, версию 14.1 мы так и не увидим. Как можно заметить, в табличку я добавил и версию XE 2015. Совсем недавно началось её бета тестирование, но про новинки студии в скором времени появятся другие посты, а сейчас всем хорошего дня, ну или ночи.И напоследок, раз уж вы теперь знаете всю историю появления Parallel Studio XE. А сталкивались ли вы с подобными проблемами «пакетирования» у других компаний? На картинке, кстати, есть два «кораблика», с пакетами средств, которые я явно не озвучивал. Но там можно догадаться, в чём отличие, если хорошо знаешь линейку продуктов. Кто заметил, или может быть, использовал эти средства и укажет правильный ответ?

© Habrahabr.ru