|
Архив публикацийТезисыXVIII-ая конференцияМетод аппроксимации многомерной функции и его параллельная реализация с использованием технологии CUDAИнститут динамики систем и теории управления СО РАН, 664033, Иркутск, ул. Лермонтова, 134, +7 (3952) 45-30-72, anton.anikin@gmail.com, gornov@icc.ru 1 стр. (принято к публикации)Проблема аппроксимации многомерной функции на нерегулярных данных возникает при решении многих задач, когда необходимо построить модель на основе результатов экспериментов. Традиционно для решения задач такого типа используются методики и алгоритмы, основанные на применении искусственных нейронных сетей. Предлагаемый подход опирается на другую идею, предложенную около 50 лет назад Д. Шепардом [1,2]. Методика Шепарда предполагает построение дробно-рациональной функции, вычисляемой по следующей формуле: , где fi — значение функции в известных точках xi. Хотя получение одного значения аппроксимирующей функции не является трудоемкой операцией, при многократном использовании этой процедуры в более сложных алгоритмах возникает необходимость ускорения вычислений. В последнее время всё большую популярность приобретают технологии, позволяющие проводить параллельные вычисления на графических ускорителях (GPU), самая распространенная и зрелая из них - Nvidia CUDA [3]. В работе рассматривается программная реализация аппроксимации многомерной функции методом Шепарда с использованием данной технологии. Реализация программы потребовала решения ряда технических проблем, связанных с аппаратными особенностями графических процессоров - наличием различных типов памяти, необходимостью минимизации обменов данными между CPU и GPU, минимизации количества ветвлений алгоритма и т. д. Созданная реализация протестирована в операционных системах Linux и Windows на графических адаптерах Quadro NVS 140M и GeForce GTX 285. Результаты сравнения с расчетами, выполненными на центральном процессоре, демонстрируют значительное, примерно на порядок, уменьшение времени вычислений. Работа выполнена при финансовой поддержке грантов РФФИ № 09-07-00267 и 10-01-00595. |