Не чипом единым
Конечно, такое название, как Intel, ассоциируется в первую очередь с процессорами. Большинство рабочих станций и серверов используют именно интеловскую платформу, и это делает корпорацию визионером для всей индустрии. Именно Intel во многом определяет пути развития ИТ.
Но широкая известность как поставщика аппаратных решений отнюдь не мешает компании выступать в качестве заметного и авторитетного игрока на рынке программных продуктов. Главный мировой производитель процессоров много лет последовательно развивает актуальные среды разработки, предназначенные для развития «Интернета вещей», виртуальной реальности, искусственного интеллекта и пр.
Компания поддерживает огромное международное сообщество разработчиков Intel Developer Zone, в которое некоторое время назад были объединены такие известные программы поддержки, как Intel AppUp Developer, Intel Software Partner и знаменитая Intel Software Network (ISN).
В настоящее время двумя самыми крупными программными продуктами Intel являются среды разработки Parallel Studio XE и System Studio. Они имеют частично пересекающийся набор компонентов, однако включают и характерные инструменты, отсутствующие в другой платформе. Это связано со специализацией каждой из них.
Intel Parallel Studio XE
Это — главный инструмент Intel для разработчиков многопоточного программного обеспечения. Такие задачи с высокой степенью параллелизма, в частности, характерны для реализации алгоритмов машинного обучения и анализа данных.
В базовый состав Intel Parallel Studio XE 2020 (Composer Edition) входят хорошо знакомые многим девелоперам компоненты:
-
Компиляторы языков C++ и Fortran;
-
Инструмент Intel Distribution for Python, пакеты которого (NumPy, SciPy, pandas, scikit-learn, Jupyter, matplotlib и mpi4py) оптимизированы под аппаратные платформы Intel, в частности — процессоры Xeon;
-
Библиотека Intel Math Kernel Library (Intel MKL);
-
Библиотека Intel Integrated Performance Primitives (Intel IPP);
-
Библиотека Intel Threading Building Blocks (Intel TBB);
-
Библиотека Intel Data Analytics Acceleration Library.
В комплекте Intel Parallel Studio XE 2020 Professional Edition есть и три инструмента анализа:
-
Анализатор производительности Intel VTune Amplifier;
-
Инструмент векторизации и многопоточного проектирования Intel Advisor;
-
Анализатор корректности кода Intel Inspector.
А самый полный пакет Intel Parallel Studio XE 2020 Cluster Edition включает в себя еще и дополнительные средства масштабирования:
-
Библиотека Intel MPI;
-
Анализатор Intel Trace Analyzer and Collector;
-
Анализатор Intel Cluster Checker.
по теме
Intel System Studio
Будучи во многом основанной на Parallel Studio XE, Intel System Studio, все-таки — самостоятельная комплексная кроссплатформенная среда разработки ПО. Она используется для embedded-устройств и элементов «интернета вещей», построенных на процессорах и контроллерах Intel.
Intel System Studio позволяет программистам создавать надежный, производительный и энергоэффективный код для коммуникаторов, систем-на-чипе, автомобильных компьютеров, а также промышленных и медицинских устройств на базе архитектуры х86. С этим связаны некоторые отличия в составе компонентов Parallel Studio XE и System Studio.
Комплект поставки Intel System Studio Composer Edition содержит компилятор только для C++. Поддержка Python и Fortran отсутствует. Зато в составе имеются два новых пакета:
-
Инструменты для фреймворка Intel OpenCL Tools;
-
Инструменты для «Интернета вещей» Intel IoT Connection Tools.
В Intel System Studio Professional Edition место анализатора производительности Intel VTune Amplifier занял профилировщик потоков VTune Amplifier Profiler. Также сюда входят три новых инструмента:
-
Анализатор Intel SoC Watch;
-
Анализатор Intel Inspector;
-
Отладчик Intel GNU Debugger.
«Старшая» версия Intel System Studio имеет приставку Ultimate Edition. Два ее дополнительных компонента полностью отличны от компонентов Intel Parallel Studio XE Cluster Edition и предназначены для отладки:
-
Отладчик Intel System Debugger;
-
Intel Debug Extensions for Windows Debugger.
Intel Threading Building Blocks
Parallel Studio XE и System Studio – среды разработки. Но некоторые компоненты, которые в них входят, распространяются как самостоятельные продукты и заслуживают отдельного упоминания.
Intel Threading Building Blocks — библиотека шаблонов C++, предназначенных для программирования параллельных вычислений на базе многоядерных процессоров. Они позволяют автоматически разбивать вычисления на отдельные задачи, выполняемые одновременно, в соответствии с «алгоритмическими скелетами».
Intel MPI Library
Еще один самостоятельный продукт — набор инструментов для использования MPI (Message Passing Interface), интерфейса передачи сообщений между отдельными параллельно выполняющимися процессами одной задачи. Применяется он в кластерных системах с распределенной памятью, чаще всего аппаратно реализованных как набор вычислительных узлов, объединенных скоростными каналами связи (InfiniBand и пр.).
Главная сфера, в которой задействован MPI — суперкомпьютерные системы, выполняющие прикладные вычисления из области физических процессов, фармацевтики, материаловедения, генетики и т. д.
Intel Math Kernel Library
Эта библиотека содержит оптимизированные под процессоры Intel алгоритмы для решения прикладных математических, инженерных и финансовых задач. С ее помощью можно эффективно автоматизировать многие задачи линейной/векторной алгебры и статистики: сложение векторов, скалярное произведение, преобразования Фурье, решатели разреженных систем и пр.
Intel Integrated Performance Primitives Library
Наконец, Intel Integrated Performance Primitives Library содержит отдельные программные примитивы для многопоточной обработки сигналов и изображений, операций с матрицами и криптографии. Все они, конечно, наилучшим образом проявляют себя в сочетании с аппаратными платформами Intel Atom и Intel Core.
Чаще всего Intel Integrated Performance Primitives Library применяется при кодировании и декодировании видео и аудио, в системах компьютерного зрения, криптографии, при сжатии данных, трассировке лучей и рендеринге, кодировании и распознавании речи и т. д.