Перестановочный тест на GPU

Тип разработки: 
Программа
Регистрационный номер в ФАП: 
PR13011
Дата регистрации в ФАП: 
2013-04-03
Тематическая направленность: 
Задачи генетики. Статистический анализ
Заявитель: 
Разработчики программы (базы данных): 
Аннотация: 

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

Область применения   Представленный вариант позволяет проводить перестановочный тест в задачах генетики, но при небольшой переработке или соблюдении шаблона входного файла можно решать задачи из другой области.

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

Функциональные возможности - Формирование массивов входных данных из текстовых файлов. Проведение перестановочного теста с заданными параметрами (количество перестановок, общее число итераций). Формирование выходного текстового файла с полученными результатами статистик. Реализация на графическом процессоре позволяет получить ускорение на больших задачах в 100 раз.

Общая идеология перестановочных тестов заключается в следующем:
1.рассчитывается наблюдаемое для реальных выборок значение статистики G0;
2.осуществляется случайная перестановка значений между выборками;
3.для новых выборок рассчитывается значение статистики Gu. Индекс u отвечает номеру перестановки;
4.процедуры перестановки и расчета статистики 2) - 3) повторяются U раз;
5.p-значение определяется как доля значений Gu, превышающих G0.

Во вложенных файлах представлено:  рис. 1 - образец входного файла с выделением важных элементов; рис. 2 - общая структура выполнения программы с сопоставлением функциональных блоков аппаратным ресурсам; рис. 3 - образец выходного файла; рис. 4 - производительность параллельной и последовательной версий программы на двух различных задачах.

Инструментальные средства создания - Microsoft Visual Studio 2008, NVIDIA CUDA

Версия регистрируемой программы (базы данных): 
0.9
Использованные при разработке материалы: 
cuBLAS
Признак доступности программы (базы данных): 
свободный доступ для пользователей СО РАН
Требования к аппаратным и программным средствам: 

Персональный компьютер или суперкомпьютер с графическим процессором NVIDIA, поддерживающим CUDA.
Операционная система семейства Windows/Linux

Контактная информация: 
al--le@yandex.ru
ВложениеРазмер
1.jpg135.71 КБ
2.jpg92.41 КБ
3.jpg172.59 КБ
4.jpg153.1 КБ