Разработка эффективных параллельных алгоритмов с использованием технологий Интел. Параллельные алгоритмы спектрального анализа Панкратов Антон Николаевич.

Презентация:



Advertisements
Похожие презентации
КОМПЬЮТЕРНАЯ ОБРАБОТКА ЧИСЛОВЫХ ПОТОКОВ С ПОМОЩЬЮ ВЭЙВЛЕТОВ Выполнил : Терехин Николай, 545 Научный руководитель : Демьянович Ю. К.
Advertisements

1 Система автоматизации распараллеливания. Отображение на SMP-кластер. Автор: Картавец Евгений Олегович Научные руководители: д.ф.-м.н. Крюков Виктор Алексеевич.
Поиск протяженных повторов в геномах на основе спектрально-аналитического метода Доклад Земледельцева Д.И.
Нижегородский государственный университет им. Н.И.Лобачевского Факультет Вычислительной математики и кибернетики Применение технологии Cilk для решения.
МГУ им. М.В. Ломоносова, Москва, 21 октября 2011г. КОНСОРЦИУМ УНИВЕРСИТЕТОВ РОССИИ Курс: «Технология параллельного программирования OpenMP» Лабораторная.
Лекция 11 Дискретное преобразование Фурье Дискретное преобразование Фурье (ДПФ) относится к классу основных преобразований при цифровой обработке сигналов.
Распараллеливание построения среднеквадратических приближений сплайнами восьмого порядка аппроксимации Полуянов С.В.
Решение математических и экономических задач средствами MATLAB.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ УМНОЖЕНИЯ МАТРИЦ И ВЕКТОРОВ.
НЕКОТОРЫЕ СВЕДЕНИЯ ИЗ МАТЕМАТИЧЕСКОГО АНАЛИЗА Дельта-функция Дельта функция это функция, удовлетворяющая следующим условиям.
Выполнил студент : Санкт - Петербург 2012 Министерство образования Российской Федерации Санкт - Петербургский государственный архитектурно - строительный.
1 Тема 3 Динамическая форма отображения сигналов Основной задачей динамической модели является математическое описание реакции системы (выходного сигнала.
Классификация Базу. По мнению А.Базу (A.Basu), любую параллельную вычислительную систему можно однозначно описать последовательностью решений, принятых.
Сравнительный анализ различных реализаций фильтра Гаусса.
Программирование многоядерных архитектур (слайды для лекции 2013/04/20) Киреев С.Е., Маркова В.П., Остапкевич М.Б., Перепелкин В.А. МО ВВС ИВМиМГ СО РАН.
Нейросетевые технологии в обработке и защите данных Обработка данных искусственными нейронными сетями (ИНС). Лекция 5. Алгоритмы обучения искусственных.
КЛАССИЧЕСКИЙ РЕГРЕССИОННЫЙ АНАЛИЗ. ОБЩАЯ ЛИНЕЙНАЯ МОДЕЛЬ.
Моделирование и исследование мехатронных систем Курс лекций.
ОСНОВЫ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ Презентация лекции по курсу «Общая теория связи» © Д.т.н., проф. Васюков В.Н., Новосибирский государственный.
Транксрипт:

Разработка эффективных параллельных алгоритмов с использованием технологий Интел. Параллельные алгоритмы спектрального анализа Панкратов Антон Николаевич Летняя молодежная школа Разработка параллельных приложений для петафлопсных вычислительных систем, 26 июня - 3 июля 2011 года, НОЦ "Суперкомпьютерные технологии, МГУ имени М.В.Ломоносова

Особенности архитектуры, которые необходимо учитывать Кэш, Конвейеризация вычислений, Векторизация вычислений (Intel® IPP, MKL) Многоядерность (OpenMP)

Обобщенный спектрально- аналитический метод Вычисление коэффициентов разложения функции Восстановление функции по коэффициентам разложения Алгебра спектральных преобразований

Приложения Распознавание повторов в геномах и белках Аналитическое описание плоских и пространственных кривых, распознавание образов Обработка данных магнитной энцефалографии Обработка метеорологических данных Анализ данных ЯМР высокого разрешения, рентгеноструктурный анализ

Коэффициенты разложения Коэффициенты разложения по ортогональной на с весом системе полиномов : Определенные интегралы вычисляются с помощью соответствующих квадратурных формул Гаусса:

Как получать значения полиномов? Рекуррентное соотношение Такой цикл не может быть распараллелен! p2 = t; p1 = 1; u[0] = 1.0; for (m = 1; m < N; m++) { p3 = p2; p2 = p1; p1 = 2*t*p2-p3; u[m] = p1; }

Сохранять ли значения полиномов? Единожды вычислив, сохранить в матрице A Вычислять заново при разложении очередного сигнала

Матричный подход Если – матрица значений полиномов: то вычисление коэффициентов разложения есть умножение матрицы на вектор-столбец взвешенных значений: где

Матричный подход + вычисления выполняются заранее + возможность «включить» оператор интерполяции с одной сетки на другую + задача сводится к линейной алгебре интенсивное потребление памяти накладные расходы на доступ к памяти при работе на SMP-системах

Вычисление значений полиномов «на месте» + экономия памяти + эффективное использование кэша + эффективное распараллеливание на SMP-системах повторяющиеся вычисления

Распараллеливание матричного алгоритма for(k = 0; k < m; k++) { for(i = 0; i < n; i++) { c[k]+= f[i]*a[k*n+i]; } или в векторном виде (Matlab) c=A*f #pragma omp parallel for

Распараллеливание матричного алгоритма

Распараллеливание «рекуррентного» алгоритма Внешний цикл нельзя распараллелить Каждый узел квадратурной сетки вносит вклад во все коэффициенты for(i = 0; i < n; i++) { p2 = 1.0; p1 = t[i]; c[0] += y[i]; for (j = 1; j < m; j++) { p3 = p2; p2 = p1; p1 = 2*t[i]*p2-p3; c[j] += y[i]*p1; } #pragma omp parallel for reduction(c:+)

Распараллеливание «рекуррентного» алгоритма #pragma omp parallel sections num_threads(2) { #pragma omp section { cheb1_expand(t,y,N,0,N/2,c1,m); } #pragma omp section { cheb1_expand(t,y,N,N/2,N,c2,m); } for (k = 0; k < m; k++) { c[k] = c1[k] + c2[k]; } Распараллеливание «вручную» по узлам сетки

Векторизация «рекуррентного» алгоритма for i = 1:k p1 = f; p2 = t.*f; c(1) = sum(p1); for j = 2:m p3 = p2; p2 = p1; p1 = 2*t.*p2-p3; c(j) = с(j) + sum(p1); end Необязательный внешний цикл обусловлен дополнительной нарезкой сетки в случае фиксированной глубины векторизации

Распараллеливание «рекуррентного» алгоритма

Сравнение Получены параллельные версии для процедур разложения функций по ортогональным полиномам Проведены сравнительные тесты матричного и «рекуррентного» алгоритмов на двухъядерных машинах Распараллеливание матричного алгоритма позволило не более, чем в 1,5 раза ускорить вычисления Распараллеливание «рекуррентного» алгоритма позволило в 2 раза ускорить вычисления Однако то, какой из алгоритмов: матричный или «рекуррентный» – эффективнее в абсолютном выражении, зависит от архитектуры ЭВМ

Алгоритмы вычисления коэффициентов разложения Матричный Рекуррентный Векторно-рекуррентный Векторно-рекуррентный с фиксированной глубиной векторизации Быстрое преобразование Фурье (только тригонометрические функции, встроено практически во все библиотеки)

Использование векторизации и многоядерности

Intel MTL: 32-x ядерная архитектура

GPU vs CPU: однородность при изменении параметра

Поиск повторов в текстовых последовательностях …ATGCGCATTCTCTGCCTGCATAAATCGCCGTATAAACCGCTACAATGCTACTGC…

Алгоритм распознавания повторов Спектральное индексирование последовательности Построение решающего правила Отображение результатов на матрице спектральной гомологии Перевод текстовой последовательности в непрерывную функцию w1, окно частоты содержания букв w2, dw2 Окно и сдвиг окна аппроксимации N, число коэффициентов разложения

Шаг 1. Статистические профили текстовых последовательностей AATGCAGCGCATT Для однозначного представления текстовой последовательности в алфавите N букв требуется профилей

Шаг 2. Спектральное представление Разложение профилей содержания f i по ортогональным функциям {φ n }

Спектральное индексирование Скользящее окно аппроксимации w2w2 последовательность w2w2 dw2 С0С0 С1С1 С2С2 …СnСn С 0 С 1 С 2 …С n …………… С n 0 С n 1 С n 2 …С n n профиль

Поиск инвертированных повторов

Шаг 3. Определение решающего правила С0С0 С1С1 С2С2 …СnСn С 0 С 1 С 2 …С n …………… С n 0 С n 1 С n 2 …С n n Метрика монотонна по числу коэффициентов

Шаг 4. Построение матрицы спектральной гомологии ATGC CGTA

Устойчивость распознавания Устойчивость к мутациям Выбор базиса

Обучение алгоритма на тестовой последовательности Инвертированный повтор Прямой повтор 20 % мутаций

Сравнение точечной и спектральной матрицы гомологии Точечная (OWEN)Спектральная w2 = 5000 N = 50

Распределенная система сравнения геномов

Матрица гомологии: поиск мегасателлитных повторов