Опубликован: 15.04.2011 | Уровень: специалист | Доступ: платный
Дополнительный материал 8:

Лидирующая в отрасли библиотека для высокопроизводительных математических вычислений Intel-Math-Kernel-Library-v11-1-PB-083013

< Дополнительный материал 7 || Дополнительный материал 8

Орингинал текста Вы можете скачать здесь.

Главные особенности

  • Векторизация и многопоточность обеспечивают максимальное быстродействие на всех процессорах Intel и совместимых
  • Совместимость со всеми компиляторами C/C++ и Fortran
  • Индивидуальное лицензирование без отчислений позволяет уменьшить затраты на разработку

Библиотека доступна в составе следующих пакетов или отдельно

Поддержка операционных систем:

  • Windows*
  • Linux*
  • OS X*

"Intel MKL обязательна для любого пользователя высокопроизводительных вычислительных систем на платформах x86."

Профессор Джек Донгарра (Jack Dongarra), лаборатория современных вычислений, Университет Теннеси, Ноксвиль, США

Следите за нами в Twitter

@IntelMKL

Быстродействие: готовность к использованию

Intel® Math Kernel Library v11.1 (Intel® MKL) содержит массу подпрограмм, ускоряющих работу приложений и сокращающих время разработки. Современные процессоры имеют больше ядер, более широкие векторные модули и более разнообразные архитектуры. Самый простой способ в полном объеме задействовать новые возможности - обратиться к тщательно оптимизированной библиотеке, специально рассчитанной на использование новых процессоров.

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

В состав Intel MKL входят векторизованные и распараллеленные функции линейной алгебры, быстрых преобразований Фурье (БПФ), векторной математики и статистики. На нынешних, предыдущих и будущих процессорных архитектурах функции библиотеки доступны через одни и те же вызовы API на C или Fortran - в зависимости от архитектуры автоматически выбирается самая оптимальная ветвь кода.

Благодаря лидерству Intel MKL в отрасли по быстродействию согласно тесту LINPACK данная математическая библиотека используется на многих из самых быстрых суперкомпьютеров в мире.

увеличить изображение
Благодаря лидерству Intel MKL в отрасли по быстродействию согласно тесту LINPACK данная математическая библиотека используется на многих из самых быстрых суперкомпьютеров в мире.

Главные особенности

Обширный набор математических функций, охватывающий широкий круг прикладных задач

Intel® Math Kernel Library (Intel® MKL) содержит массу многопоточных и векторизованных сложных математических функций, позволяющих ускорять работу широкого круга приложений. Вам не нужно писать эти функции самостоятельно - за вас это уже сделали в Intel.

Библиотека содержит функции следующих основных категорий: линейная алгебра, быстрые преобразования Фурье, векторная математика и статистика. Для вычислений с распределенной памятью, организованных с использованием MPI, в библиотеке предусмотрены кластерные версии LAPACK и БПФ.

Стандартные API позволяют быстро улучшать быстродействие приложений

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

К примеру, переход на реализацию LAPACK (Linear Algebra PACKage) из Intel MKL позволяет увеличить быстродействие на 500% или больше (см. результаты теста слева).

Помимо стандартных API линейной алгебры в BLAS и LAPACK библиотека Intel также поддерживает C-интерфейс FFTW Массачусетского технологического института для быстрых преобразований Фурье. Высочайшие производительность и масштабируемость на старых, нынешних и будущих процессорах - просто и автоматически.


Highest Performance and Scalability across Past, Present & Future Processors – Easily and Automatically

Интерфейсы программирования для C и Fortran содержат по нескольку веток кода, каждая из которых оптимизирована для определенных поколений процессоров Intel и совместимых. Разработчикам приложений не нужно принимать никаких специальных мер для выбора нужной ветки - Intel MKL делает это сама, автоматически обеспечивая максимальное быстродействие.

Ветки кода для новых процессоров добавляются в API еще до выхода самих чипов. Разработчику достаточно подлинковать самую новую версию Intel MKL, и его приложения будут готовы к использованию всех возможностей самых новых процессорных архитектур.

Что касается новых сопроцессоров Intel Xeon Phi, помимо полной нативной оптимизации Intel MKL также автоматически выполняет оптимальную балансировку нагрузки между центральным процессором и сопроцессором Phi.

Гибкость, отвечающая требованиям разработчиков

Разработчикам приходится выполнять много требований. Иногда эти требования конфликтуют между собой, и тогда нужны компромиссы. Возможно, вам нужны консистентные результаты вычислений с плавающей запятой и при этом максимально возможное быстродействие приложения? Или вам требуется более высокое быстродействие векторной математики, но не нужна максимальная точность? Intel MKL предоставляет контроль над соответствующими компромиссами.

Intel MKL также совместима с выбранными вами компиляторами, языками, операционными системами, линковщиками и моделями многопоточности. Единое библиотечное решение для многих сред отменяет необходимость в освоении и применении многих библиотек.

Подробности

Линейная алгебра

Набор базовых подпрограмм линейной алгебры BLAS библиотеки Intel MKL реализует векторные операции (уровень 1), операции матрица-вектор (уровень 2) и матрица-матрица (уровень 3) над вещественными и комплексными числами с одинарной и двойной точностью. Подпрограммы уровня 1 реализуют операции над индивидуальными векторами, в том числе вычисление скалярного произведения, взятие нормы вектора и нахождение суммы векторов. Подпрограммы уровня 2 вычисляют произведение матрицы на вектор, добавление матрицы ранга 1 и 2 и решение треугольных систем уравнений. Подпрограммы BLAS уровня 3 вычисляют произведение матриц, добавление матрицы полного ранга и решают системы треугольных уравнений с несколькими правыми частями.

Модуль LAPACK (методы решения основных задач линейной алгебры) Intel предоставляет высокооптимизированные подпрограммы для разложения LU-матриц и QR-матриц, а также разложения Холецкого и процедуры для решения систем линейных уравнений. Кроме того, LAPACK 3.3.1 имеет подпрограммы решения проблемы собственных значений, а также ряд новых интерфейсов и других усовершенствований.

Если ваше приложение уже пользуется функциями BLAS или LAPACK, просто перелинкуйте его, подключив Intel MKL, чтобы получить более высокое быстродействие на архитектурах Intel и совместимых.

Быстрые преобразования Фурье

Подпрограммы БПФ в Intel MKL реализованы с большим количеством оптимизаций, способных обеспечить значительное преимущество в производительности для последовательностей средней и большой длины по сравнению с другими библиотеками. Библиотека Intel поддерживает широкий круг алгоритмов БПФ, от одномерных с одинарной и двойной точностью до многомерных с трансформацией комплексных последовательностей произвольной длины в комплексные, вещественных в комплексные и вещественных в вещественные. Поддержка обоих интерфейсов FFTW упрощает перенос ранее созданных с их использованием приложений.

Векторная математика

Intel MKL содержит оптимизированные векторные реализации методов решений основных математических задач, требующих большого объема вычислений, а также операций над вещественными и комплексными числами с одинарной и двойной точностью. В числе базовых векторных операций - поэлементное суммирование, вычитание, умножение, деление и сопряжение, а также операции округления - пол, потолок и округление до целого. Кроме того, поддерживаются возведение в степень, извлечение корня, инверсия, логарифмы, тригонометрические и гиперболические функции, функция ошибок и обратная, кумулятивное нормальное распределение, а также pack/unpack.

Статистика

Intel MKL содержит реализации генераторов случайных чисел и распределения вероятностей, способные обеспечить весьма высокое быстродействие приложений. В частности, функции библиотеки позволяют комбинировать генераторы случайных чисел на основе вихря Мерсенна или реализованные по методу Нидеррайтера с различными алгоритмами распределения вероятностей - равномерным, нормальным и экспоненциальным.

Intel MKL также реализует основные методы статистического анализа с большим объемом вычислений, работающие с использованием внешней памяти и без. Процедуры библиотеки реализуют базовые статистические методы, оценку зависимостей, распознавание выбросов и замену пропущенных значений. Данные функции можно использовать для ускорения работы приложений, применяемых в финансовой сфере, биологических науках, проектировании/моделировании, а также для повышения быстродействия приложений баз данных и других.

Аппроксимация данных

Intel MKL содержит богатый набор сплайновых функций для одномерной интерполяции. Эти подпрограммы полезны для целого ряда приложений, в том числе для анализа данных (к примеру, для построения гистограмм), геометрического моделирования и аппроксимации поверхности. Поддерживаются линейные, квадратичные и кубические сплайны, с поисковой таблицей, ступенчатые постоянные и определяемые пользователем.

Что нового

Особенность Преимущество
Условная численная воспроизводимость результатов Возможности Intel MKL позволяют преодолеть неассоциативность, свойственную результатам вычислений с плавающей запятой. Новой особенностью данного релиза стала возможность достижения воспроизводимости без выравнивания в памяти.
Новые и улучшенные оптимизации для процессоров Haswell Intel® Core™, Ivy Bridge Intel® Xeon, будущих чипов на микроархитектуре Broadwell и сопроцессоров Intel® Xeon Phi™. Intel MKL оптимизирована для самых новых и будущих процессорных архитектур, за счет чего обеспечивается лучшая в отрасли производительность. В частности, новые оптимизации для набора команд Fused Multiply-Add (FMA), появившегося в процессорах с ядром Haswell, обеспечивают более чем двукратное повышение быстродействия для вычислений с плавающей запятой.
Автоматическая разгрузка и балансировка вычислений между процессорами Intel Xeon и сопроцессорами Intel Xeon Phi - теперь и в Windows Для некоторых функций линейной алгебры Intel MKL автоматически определяет оптимальный способ использования возможностей систем, содержащих один или более сопроцессоров Intel Xeon Phi. Разработчик просто вызывает функцию MKL, и она сама воспользуется сопроцессором, если он присутствует в системе. В данном релизе добавлены новые функции плюс поддержка Windows.
Extended Eigensolver Routines based on the FEAST algorithm Новые подпрограммы решения проблемы поиска собственного значения для разреженных матриц справляются с задачами большего размера и расходуют меньше памяти. Совместимость с библиотекой FEAST Eigenvalue Solver на уровне API упрощает переход с нее на высокооптимизированную реализацию Intel MKL.

Варианты приобретения: пакеты для одного языка

Several suites are available combining the tools to build, verify and tune your application. The product covered in this product brief is highlighted in blue. Named-user or multi-user licenses along with volume, academic, and student discounts are available.

Technical Specifications

Specs at a Glance
Processor Support Validated for use with multiple generations of Intel and compatible processors including but not limited to: Intel® Xeon™ Processor, Intel® Core™ processor family and Intel® Atom™ processor family.
Operating Systems Use the same API for application development on multiple operating systems: Windows*, Linux* and OS X*.
Development Tools and Environments Compatible with compilers from vendors that follow platform standards (e.g., Microsoft*, GCC, Intel). Can be integrated with Microsoft Visual Studio* 2008, 2010 and 2012.
Programming Languages Natively supports C++ and Fortran development. Cross-language compatible with Java*, C#, Python* and other languages.
System Requirements Refer to www.intel.com/software/products/systemrequirements/ for details on hardware and software requirements.
Support All product updates, Intel® Premier Support services and Intel® Support Forums are included for one year. Intel Premier Support gives you secure, web-based, engineer-to-engineer support.
Community Share experiences with other users of Intel® TBB and other parallel programming tools at the Intel moderated forum: http://software.intel.com/en-us/forums/


Чтобы узнать больше об Intel Math Kernel Library

Скачайте бесплатную 30-дневную пробную версию
Optimization Notice Notice revision #20110804
Оптимизации, не рассчитанные исключительно на микропроцессоры Intel, на процессорах других производителей могут быть менее эффективными. В частности, это касается оптимизаций наборов команд SSE2, SSE3, SSSE3, а также других. Intel не гарантирует доступность, функциональность и эффективность любой оптимизации на микропроцессорах, выпущенных другими производителями. Оптимизации перечисленных в документе продуктов, зависящие от микропроцессоров, предназначены для микропроцессоров Intel. Некоторые оптимизации, не характерные для микроархитектуры Intel, резервируются только для микропроцессоров Intel. Дополнительную информацию о конкретных наборах инструкций, к которым относится данное уведомление, можно получить из соответствующих руководств пользователя и справочников.
< Дополнительный материал 7 || Дополнительный материал 8
Анита Васильева
Анита Васильева
Россия, Санкт-Петербург, Санкт-Петербургский государственный университет