Опубликован: 11.10.2012 | Доступ: свободный | Студентов: 307 / 58 | Длительность: 07:36:00
Лекция 2:

Библиотеки Intel. Intel® Math Kernel Library

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >
Аннотация: В этой лекции даются структура библиотеки Intel® Math Kernel Library и ее общая характеристика. Рассматриваются следующие модули библиотеки: BLAS, LAPACK, VML, VSL, FFT, DFL и другие, в том числе компоненты для кластерных систем.

Презентацию к данной лекции Вы можете скачать здесь.

Общая характеристика Intel® Math Kernel Library

Intel® Math Kernel Library (Intel® MKL) – вычислительная математическая библиотека, содержащая хорошо оптимизированные многопоточные реализации математических функций. Содержит BLAS, LAPACK, ScaLAPACK, солверы для разреженных систем, быстрое преобразование Фурье, векторизованные математические функции и т.д.

Многоплатформенная библиотека, однако ScaLAPACK не поддерживается в Mac OS* X.

Поддерживаются C и Fortran.

Входит в состав следующих пакетов:

  • IntelR Parallel Studio XE
  • IntelR Cluster Studio XE
  • IntelR C++ Studio XE
  • IntelR Composer XE
  • IntelR C++ Composer XE
  • IntelR Fortran Composer XE

Состав Intel® Math Kernel Library

Основные операции с векторами и матрицами:

  • BLAS (Basic Linear Algebra Subroutines);
  • SparseBLAS (Basic Linear Algebra Subroutines);
  • PBLAS (Parallel BLAS).

BLAS – эффективная библиотека, в которой реализованы основные операции: векторно-векторные (1 уровень), матрично-векторные (2 уровень) и матрично-матричные (3 уровень). Библиотека оптимизируется под разные архитектуры и используется в качестве "ядра" других библиотек более высокого уровня).

SparseBLAS – расширение BLAS для работы с разреженными векторами и матрицами.

PBLAS – параллельная реализация BLAS для вычислительных систем с распределенной памятью. Построена на основе MPI.

Модуль линейной алгебры (решение систем линейных алгебраических уравнений, решение спектральных задач). Включает следующие компоненты:

  • LAPACK (Linear Algebra PACKage);
  • ScaLAPACK.

LAPACK содержит подпрограммы решения систем линейных алгебраических уравнений, решения спектральных задач для матриц (вычисления собственных значений и собственных векторов), факторизации матриц разного вида (LU, QR, Холецкого, Шура, сингулярного и других) и т.д. Процедуры предназначены для работы с хорошо заполненными и ленточными матрицами, вещественными и комплексными, в форматах с простой и двойной точностью (http://www.netlib.org/lapack).

ScaLAPACK – параллельная библиотека подпрограмм линейной алгебры, реализованная для систем с распределенной памятью (http://www.netlib.org/scalapack).

Модуль линейной алгебры для разреженных матриц:

  • PARDISO (PARallel DIrect SOlver);
  • итерационные солверы для разреженных матриц.

PARDISO – потокобезопасная, эффективная библиотека, предназначенная для решения систем линейных алгебраических уравнений с большими разреженными матрицами, как симметричными, так и несимметричными (http://www.pardiso-project.org). Подпрограммы библиотеки реализованы как для систем с общей, так и с распределенной памятью.

Векторные функции:

  • VML (Vector Mathematical Library);
  • VSL (Vector Statistical Library).

VML – векторные реализации математических функций.

VSL – параллельные (многопоточные) реализации генераторов псевдослучайных чисел.

Модуль быстрого преобразования Фурье:

  • FFT (Fast Fourier Transform);
  • ClusterFFT – кластерная реализация библиотеки быстрого преобразования Фурье.

Модуль поддержки решения дифференциальных уравнений в частных производных:

  • TT (Trigonometric Transforms);
  • PL (Poisson Library).

Optimization solvers (метод наименьших квадратов):

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >