Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Winter School

No description
by

Katerina Efimova

on 22 February 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Winter School

Зимняя школа Intel НГУ-2011 Метод Холецкого Ефимова Екатерина Сергеевна Климов Антон Владиславович Ломшаков Вадим Михайлович Торов Руслан Владимирович Холупко Алексей Юрьевич Метод Холецкого Симметричная положительно определенная матрица A =A>0 T A=LU=LL =U U T T A= A A A . . . 11 12 1n 21 2n 22 A . . . A A A nn A A . . . n1 n2 . . . . . . . . . . . . = . . . . . . 21 0 11 L 0 L L L 22 n1 . . . L . . . nn L . . . . . . n2 . . . 0 . . . . . . 1n 0 nn 22 . . . L . . . L L L L . . . . . . . . . 0 0 12 2n 11 L . . . . . . . . . . A = A 1n . A A= A 21 A 2n . . . 11 A . . . . . . A n1 n2 A 22 . . . 12 A nn U 22 11 . . . . . . . . . U 1n . . . . . . 0 U 0 . . . 12 U 2n 0 nn U U . . . n1 nn . . . . . . U . . . . . . 21 U 0 U n2 0 U . . . . . . . . . 11 U U 22 0 L = A - L , М ii ii ik 2 k=1 i-1 k=1 L = (A - L ), М ij ik ij 2 i-1 1 L jj j<i. Цель: реализовать Intel MKL spotf2( uplo, n, a, lda, info ) uplo - какую матрицу выводить "U" или"L"
n - размерность матрицы
a - исходная матрица
lda - длина основной диагонали матрицы
info - идентифицирует правильность входной матрицы suplof2( uplo, n, a, lda, info ) uplo - какую матрицу выводить "U" или"L"
n - размерность матрицы
a - исходная матрица
lda - длина основной диагонали матрицы
info - значение кода ошибки при работе с матрицей Задачи: T (suplof2) < T (spotf2) Время: Погрешность: (suplof2) (spotf2) c c c c ~ ~ Окружение Аппаратное Компьютер на базе процессора Intel
4 потока
от 1 ГБ Ram Программное ОС Windows Microsoft Visual Studio Intel Parallel Studio Оптимизация Скалярное
произведение векторов Одновременное вычисление независимых элементов в столбце Параллелизация с использованием OpenMP Использование инструкций SSE Оптимизирующий компилятор Intel Использование ключей компилятора Спасибо за внимание! SSE (Streaming SIMD Extensions, потоковое SIMD-расширение процессора) — набор инструкций позволяющий работать с множеством данных – SIMD(Single Instruction, Multiple Data, Одна инструкция — множество данных).
SSE включает в себя : 8 128-битных регистров (xmm0 до xmm7), набор инструкций, который производит операции со скалярными и упакованными типами данных. Автоматическая параллелизация осуществляется с использованием интерфейса OpenMP.
OpenMP (Open Multi-Processing) – это программный интерфейс, который поддерживает многоплатформенное многопроцессорное программирование с общей памятью на C/C++ и Фортране на многих архитектурах.
Цикловые оптимизации Loop Unrolling Развертка цикла (Loop unrolling) : несколько итераций цикла объединяются в одну. Позволяет уменьшить количество условных переходов в цикле. Может улучшить инструкционный параллелизм. for (int x=0; x<100; x++){
delete(x);} for (int x=0; x<100; x +=4){
delete(x);
delete(x+1);
delete(x+2);
delete(x+3);} Loop unrolling /O3 Устанавливает оптимизацию уровня 3. Задействует методы оптимизации из -O2 (максимизация скорости), более агрессивные методы оптимизации циклов и доступа к памяти, а также включает опцию `inline-functions'.
/Oi указывает, что вызовы ряда функций надо заменять на ассемблерный код.
/Qopenmp задействует создание кода на базе директив OpenMP.
/Qipo - межпроцедурная оптимизация
/fp:precise указывает, что расчеты будут в XMM регистрах, при помощи соответсвующих инструкций для работы с double . Использовался для конверсии float<->double. Intel ® Math Kernel Library (Intel ® MKL) представляет собой библиотеку оптимизированых математических процедур для применения в науке, технике и финансовых приложениях, требующих максимальной производительности. Основные функции включают математческие библиотеки BLAS, LAPACK, scalapack1, редкие решатели, быстрые преобразования Фурье, векторную математику, и многое другое. Intel ® Math Kernel Library Команда разработала эффективный метод реализации разложения Холецкого.
Данная реализация может быть использована для эффективного решения СЛАУ большой размерности.
В окружении, используемом для тестирования, показатели быстродействия превысили аналогичные показатели функции spotf2 библиотеки MKL.
Была достигнута точность вычислений того же порядка, что и в библиотеке MKL. Заключение V ____________________
Full transcript