Введение в программирование на кластерах

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

Показывать лекцию целиком

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

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

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

  • Intel® Parallel Studio XE
  • Intel® C++ Studio XE
  • Intel® Fortran Studio XE
  • Intel® Cluster Studio XE
  • Intel® Composer XE
  • Intel® C++ Composer XE
  • Intel® Fortran Composer XE
  • Поддержка операционных систем:

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

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

    @IntelMKL

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

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

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

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

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

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

    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
  • перейдите по ссылке: http://intel.ly/intel-mkl
  • или просканируйте QR-код слева
  • Скачайте бесплатную 30-дневную пробную версию
  • Перейдите по ссылке: http://intel.ly/sw-tools-eval
  • Щелкните по ссылке 'Compilers and Libraries' link
  • Optimization Notice Notice revision #20110804
    Оптимизации, не рассчитанные исключительно на микропроцессоры Intel, на процессорах других производителей могут быть менее эффективными. В частности, это касается оптимизаций наборов команд SSE2, SSE3, SSSE3, а также других. Intel не гарантирует доступность, функциональность и эффективность любой оптимизации на микропроцессорах, выпущенных другими производителями. Оптимизации перечисленных в документе продуктов, зависящие от микропроцессоров, предназначены для микропроцессоров Intel. Некоторые оптимизации, не характерные для микроархитектуры Intel, резервируются только для микропроцессоров Intel. Дополнительную информацию о конкретных наборах инструкций, к которым относится данное уведомление, можно получить из соответствующих руководств пользователя и справочников.
    Вернуться к учебному плану