ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА Математика. Механика. Информатика 2012 Вып.3(11) МЕХАНИКА МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ УДК551.594 Применение гетерогенных вычислительных систем для решения задачи идентификации параметров положения дипольного источника излучения А. К. Богушов, А. В. Панюков Южно-уральский государственный национальный исследовательский университет Россия, 454080, Челябинск, ул. Ленина, 76 abogushov@gmail.com; (351)267-90-39 Рассматривается задача идентификации параметров произвольно ориентированного электрического диполя над плоскостью с бесконечной проводимостью по его электромагнитному полю, индуцируемому в точке наблюдения. Изложена техника реализации параметризованного семейства алгоритмов на гетерогенных вычислительных устройствах. Обилие получаемых при этом результатов позволяет принимать окончательное решение по результатам статистического анализа. Ключевые слова: обратная задача; параметризация алгоритмов; прямой алгоритм; статистический анализ. Введение тивности решения предлагается использовать статистические методы решения обратных задач [4], которые позволяют при обращении информации получать решения, наиболее близкие к оригиналу. Использование гетерогенных вычислительных систем для проведения статистического оценивания широко используется и дает ряд существенных преимуществ [8, 9]. Одним из плюсов использования графических карт является значительное ускорение расчетов, а также энергоэффективность. В статье изложена техника параллельной реализации на гетерогенной вычислительной системе параметрических алгоритмов вычисления параметров электрического диполя и статистического оценивания множества значений этих параметров. В работе рассматривается задача идентификации параметров произвольно ориентированного электрического диполя над плоскостью с бесконечной проводимостью по его электромагнитному полю, индуцируемому в точке наблюдения. Данная задача входит в комплекс математических моделей практически важной проблемы прогнозирования развития грозовых очагов Как и большинство обратных задач математической физики, задача идентификации параметров электрического диполя является плохо обусловленной. Следствие этого – высокая чувствительность алгоритма к погрешностям в исходных данных и погрешностям вычисления. Поэтому для повышения эффек© Богушов А. К., Панюков А. В., 2012 17 А. К. Богушов, А. В. Панюков Для повышения степени разнообразия сигналов в работах [1, 5] было предложено использовать предобработку сигналов ez (t ) и 1. Задача идентификации параметров положения дипольного источника излучения hxoy (t ) семейством параметризованных ли- Задачу определения дальности до произвольно ориентированного дипольного источника излучения в радиусе до 100 км можно решить, используя диапазон СДВ. Вполне адекватной математической моделью земной поверхности для рассматриваемых расстояний и длин волн является бесконечно проводящая плоскость. Как показано в [7], ортогональные проекции компонент поля, индуцируемого в точке наблюдения электрическим диполем, размещенным над бесконечно проводящей плоскостью, равны ez (t ) q(t )v q '(t ) hxoy (t ) q' (t ) v v q ''(t ) q' ' (t ) u 2 u , 2 . нейных фильтров: 1, если ω [i , i ], Fi ( ) i 1, 2,..., N (3.3) 0, в противном случае, где i , i [, ] . Спектр молниевого разряда лежит в достаточно узком диапазоне частот, поэтому количество параметризованных фильтров ограничено нижней и верхней частотами, это позволит максимально использовать всю полезную информацию, которую несет сигнал, и ослабить влияние присутствующих в сигнале шумов, а также минимизировать вычислительную сложность алгоритмов. Поскольку параметры положения и спектр источника излучения не известны, то будем строить множество оценок ~ (3.4) E (i , ui , vi ) : i 1,2,..., N (2.1) (2.2) Компоненты ez (t ) и hxoy (t ) могут быть измерены с помощью антенной системы, состоящей из вертикальной электрической антенны и пары взаимно ортогональных рамочных магнитных антенн и, следовательно, использованы в качестве исходных данных для решения задачи оценки размещения диполя. для семейства полосовых фильтров Fi ( ) . Эле~ менты множества E будем рассматривать как реализацию векторной случайной величины. Для выполнения алгоритма необходимо ~ ~ вычисление величин f ki , hki , g~ki , которые могут быть получены после применения фильтра Fi ( ) к входным данным ez (t ) и hxoy (t ) .С це- 2. Прямой алгоритм и его параметризация Из возможных методов определения параметров положения произвольно ориентированного электрического диполя в статье используется параметризация прямого метода [3, 6, 7], заключающегося в прямом вычислении ~~ ~ ~ h f h f ~1 ~2 ~2 ~1 , h2 f 0 h1 f1 ~ ~ ~2 f f f (3.1) u ~ 0~2 ~ 1~ , h2 f 0 h1 f1 ~ g~ f v 0~ 0 , h0 где ~ (k ) f k e z( k ) (t )hxoy (t ) dt , лью повышения эффективности алгоритма, ~ ~ значения переменных f ki , hki , g~ki целесообразно вычислять, применяя преобразование Фурье ( E ( ), H ( )) F(ez (t ), hxoy (t )) . Действительно, представление перемен- ~ ~ ных f ki , hki , g~ki в терминах преобразования Фурье с учетом равенства Парсеваля имеет вид i ~i f k 2 k Re( E ( ) H ( ))d , i i ~ 2 hki 2 k H ( ) d , i 0 2 ~ (k ) hk hxoy (t ) dt , (3.5) i (3.2) g~0i 2 k Im( E ( ) H ( ))d , 0 i k 0,1,2, i 1,2,..., N . (k ) g~k e z( k 1) (t )hxoy (t )dt , k 0,1,2. 0 18 (3.6) Применение гетерогенных систем для идентификации… Используя алгоритм (3.1) и значения k 0,1, 2 , i 1, 2,..., N , построим следующее множество оценок положения источника излучения hi f i hi f i i 1i 2i 2i 1i h2 f 0 h1 f1 2 f 0i f 2i f1i : i 1, 2,..., N . (3.7) E ui i i i i h2 f 0 h1 f1 i i g f 0 i vi 0 h0i i ний системы дифференциальных уравнений (2.1) и (2.2). При безошибочных значениях оцениваемых параметров u , v и существует решение q, удовлетворяющее системе дифференциальных уравнений (2.1) и (2.2), т.е. прообраз пары сигналов (ez , hxoy ) принадлежит и длина проекции максимальна. Это позволяет для фильтрации вариантов использовать длину проекции в качестве функции полезности. В терминах преобразования Фурье функция полезности имеет вид U (u , v, ) E ( )(u 2 j v v 2 ) 3. Статистическая обработка результатов оценивания 2 u 2 j v v 2 2 j 2 (4.2) Большое разнообразие результатов измерения не позволяет строить достаточно точные гарантированные оценки параметров u , v и , поэтому все данные, полученные в результате работы параметризованного прямого метода, требуют дополнительной фильтрации. Для построения фильтрующих функционалов предлагается использовать метод антитрасс [2] и метод проектирования [5]. При (u, v, ) 0 алгоритм вычисления значения U (u , v, ) является вполне устойчивым, а сама функция U (u , v, ) непрерывна. 3.1. Метод антитрасс 3.3. Окончательные оценки Метод антитрасс основан на восстановлении функции источника q (t ) по сигналам ez (t ) и hxoy (t ) . При безошибочных значениях Применение предложенных выше фильтров позволяет сократить множество всех оценок E до множества перспективных оценок оцениваемых параметров u , v и решение qeuv (t ) дифференциального уравнения (2.1) H ( )( 2 j ) 2 u 2 j v v 2 2 j 2 . L( , u, v) L* , E u E : * U ( , u, v) U v * * где L ,U – критические значения функций L,U , определяемые условиями * card u : L , u , v L * должно совпадать с решением qhuv (t ) уравнения (2.2). Это позволяет для фильтрации вариантов предложить функцию потерь L(u , v, ) qeuv (t ) qhuv (t ) (4.1) E ( ) H ( ) 2 2 u jv v j v 2 Заметим, что при (u, v, ) 0 алгоритм вычисления значения L(u , v, ) является вполне устойчивым, а сама функция L(u , v, ) непрерывна. card U p* , * card u : U , u , v U v p* , card U 3.2. Метод проектирования p* – вероятность принятия ошибочной гипо- Метод проектирования основан на проектировании прообраза вектор-функции (ez , hxoy ) на линейное многообразие реше- тезы, card – кардинальное число (т.е. число элементов) множества. 19 А. К. Богушов, А. В. Панюков Окончательные значения оценок , u , v и их дисперсий определяются по выборке E * . память видеокарты по мере регистрации сигналов от множества источников излучения. Это возможно, так как на платформе CUDA операции пересылки и обработки данных могут выполняться независимо друг от друга. 4. Техника реализации прямого алгоритма Чаще всего алгоритмы определения местоположения грозового разряда используются в автономных грозопеленгаторах. Специфика подобных устройств накладывает значительные ограничения на их аппаратную часть. Данные устройства должны быть энергоэффективными, компактными и в то же время обеспечивать обработку данных в реальном времени, что актуально в связи с тенденциями внедрения возможностей регистрации внутриоблачных разрядов, характеризующихся большим числом маломощных разрядов. В связи с этим использование суперкомпьютеров или мощных настольных вычислительных машин не представляется целесообразным. Следует отметить, что в последнее время большую популярность приобрели компактные и энергоэффективные портативные платформы, например Intel Atom для платформы x86 или Nvidia Tegra для платформы ARM. Кроме того, производители оснащают данные устройства довольно мощными блоками графических процессоров, которые поддерживают технологии массивно-параллельных вычислений, таких как Nvidia CUDA и OpenCL. Например, готовящаяся к выходу платформа Nvidia CARMA помимо процессора Tegra 3 включает также NVIDIA Quadro 1000M GPU. Даже если центральный процессор портативной платформы и не обладает большой производительностью, возможность его использования в связке с портативными блоками графических процессоров, поддерживающими технологии Nvidia CUDA и OpenCL, позволяет с успехом решать поставленные задачи. Весь алгоритм можно разбить на несколько этапов, которые должны последовательно выполняться на GPU. При этом каждый этап будет представлен либо в виде отдельной функции ядра, либо в виде последовательности вызовов функции CUDA API. 4.2. Вычисление БПФ Вычисление преобразования Фурье E ( ) и H ( ) от входных сигналов ez (t ) и hxoy (t ) может быть сделано с помощью стандартной библиотеки параллельного вычисления преобразования Фурье CUFFT для платформы CUDA. cufftPlan1d(&plan, N , CUFFT_C2C , 1); cufftExecC2C (plan, dE, dE, CUFFT_FORWARD); cufftExecC2C (plan, dH, dH, CUFFT_FORWARD); Рис. 1 4.3. Вычисление произведений сигналов ~ ~ Для вычисления значений f ki , hki , g~ki в соответствии с (3.6) предварительно вычисляются значения функций: 2 2 H ( ) , Re(E ( ) H ( )) , 2 H () , 2 Re(E ( ) H ( )) , 4 H () , Im( E ( ) H ()), 2 4 Re(E ( ) H ( )) . Все сигналы легко получить с помощью однократного вызова функции-ядра следующего вида: __global__ void mul( float2 *dE, float2 *dH, float *dEH, float *dHH, float *dw2EH, float *dw4EH, float *dw2HH, float *dw4HH, float *dwEH, float *w, int size) { int i = blockIdx.x * blockDim.x + threadIdx.x; if(i<size){ float w2 = w[i]*w[i]; dEH[i] = dE[i].x * dH[i].x + dE[i].y*dH[i].y; dHH[i] = dH[i].x * dH[i].x + dH[i].y * dH[i].y; dw2EH[i] = w2*dEH[i]; dw4EH[i] = w2*dw2EH[i]; dw2HH[i] = w2*dHH[i]; dw4HH[i] = w2*dw2HH[i]; dwEH[i] =w[i]*(dE[i].x*dH[i].y dE[i].y * dH[i].x); } } 4.1. Загрузка исходных данных в память GPU Пересылка данных на память GPU очень часто является узким местом в работе программ, поэтому для обработки данных в реальном времени эта операция выполняется в отдельном потоке, который пересылает данные в Рис. 2 20 Применение гетерогенных систем для идентификации… соответствии с выражениями (3.1) вычисляются параметры положения диполя u , v и . 4.4. Расчет интегралов f, h, g В основе алгоритма вычисления интегралов лежит модифицированная схема редукции, которая позволяет параллельно выполнить суммирование элементов массива за время log2(n). Отличие от обычной схемы заключается в вычислении большого количества промежуточных интегралов (см. рис. 3), необходимых для получения требуемого разнообразия сигналов. __global__ void primal( float *IEH, float *IHH, float *Iw2EH, float *Iw4EH, float *Iw2HH, float *Iw4HH, float *IwEH, float *a, float *u,float *v, int size) { int i = blockIdx.x * blockDim.x + threadIdx.x; if(i<size){ a[i] = sqrtf((Iw2HH[i]*Iw4EH[i] - Iw4HH[i] * Iw2EH[i]) / (Iw4HH[i]*IEH[i] - Iw2HH[i] *Iw2EH[i])); u[i] = (IEH[i]*Iw4EH[i] Iw2EH[i]*Iw2EH[i]) /(Iw4HH[i]*IEH[i] Iw2HH[i]*Iw2EH[i]); v[i] = (IwEH[i] + IEH[i]*a[i]) / (IHH[i] *a[i]); } } Рис. 4 4.5. Статистическая обработка Реализация метода антитрасс (4.1) заключается в сортировке элементов множества E в порядке возрастания значения функции потерь L и отсечении последних p card E элементов. Аналогично реализация метода проектирования (4.2) заключается в сортировке элементов множества E в порядке убывания значения функции полезности U и отсечении последних p card E элементов. Множество E * является пересечением построенных множеств. Реализация окончательной статистической обработки и отображение результатов осуществляются в соответствии с рекомендациями в работах [8, 9]. Рис. 3. Модифицированная схема редукции для вычисления большого количества промежуточных интегралов Параметры алгоритма 1 S S log 2 N , где N – длина массива, определяют на каких итерациях алгоритма будут сохранены интегралы. Общее число интегралов, вычисляемых по данной схеме, определяется выражением P( S , S , N ) ( S S 1) N 2 S 1 2 S . (5.1) Таким образом, для сигнала длиной 512 может быть получено 1568 различных интегралов на функциях, представленных массивами длиной от 64 до 512 отсчетов. Результатом алгоритмов являются массивы различных интегралов для сигналов Заключение Появление технологий вычисления в гетерогенных средах, а также соответствующего оборудования позволило значительно расширить область применения статистических методов для решения обратных задач. Появилась возможность решать в реальном времени неустойчивые задачи, для которых потребовалось бы значительно больше времени в случае использования только ресурсов CPU мобильных систем. H ( ) , Re(E ( ) H ( )) , 2 H () , 2 2 2 Re(E ( ) H ( )) , 4 H () , 2 Im( E ( ) H ( )), 4 Re(E ( ) H ( )) . 4.4. Вычисление параметров диполя Методика параметризации и техника ее реализации, предложенные в статье, могут быть успешно использованы для решения широкого спектра обратных задач. На вход алгоритма приходят интегралы f, h, g, полученные на предыдущем этапе, и в 21 А. К. Богушов, А. В. Панюков Список литературы 1. Богушов А.К., Панюков А.В. Параллельная реализация комплекса программ для задачи определения параметров электрического диполя // Сб. тр. ПАВТ–2011. 2011. C.427–432. 2. Кононов И.И., Петренко И.А., Снегуров В.С Радиотехнические методы местоопределения грозовых очагов. Л.: Гидрометеоиздат, 1986. 3. Панюков А.В. Анализ погрешности прямого алгоритма определения дальности до электрического диполя // Изв. вузов. Радиофизика. 1999. Т. XLII, №3. С.266–277. 4. Панюков А.В., Богушов А.К. Параметризация алгоритмов идентификации электрического диполя // Вестн. ЮУрГУ. 2012. №18(277). С.32–43. 5. Панюков А.В. Экстремальный метод решения параметрической обратной задачи для системы линейных функциональных урав- 6. 7. 8. 9. нений // Изв. вузов. Математика. 2000. №9(460). С.27–33. Panyukov A.V. Analysis of the error of a direct algorithm for determining the distance to an electric dipole // Radiophysics and Quantum Electronics. 1999. Vol.42, №3. P. 239–248. Panyukov A.V. Estimation of the location of an arbitrarily oriented dipole under single-point direction finding // Journal of geophysical research. 1996. Vol. 101, № D10. P.997–982. Peredo O., Ortiz J.M. Parallel implementation of simulated annealing to reproduce multiplepoint statistics // Computers & Geosciences. 2011. Vol.37, issue 8. August. P.1110–1121. Suchard M.A., Wang Q., Chan C., Frelinger J., Cron A., West M. Understanding GPU Programming for Statistical Computation: Studies in Massively Parallel Massive Mixtures // Journal of Computational and Graphical Statistics. 2010. Vol. 19(2). URL: http: // ftp.stat.duke.edu/WorkingPapers/10-02.pdf . Application of heterogeneous computer systems for solving of the problem to identify the location parameters of a dipole radiation source A. K. Bogushov, A. V. Panyukov South Ural State National Research University, Russia, 454080, Chelyabinsk, Lenina st., 76 abogushov@gmail.com; (351)267 90 39 Consider the problem of identifying location parameters of an arbitrarily oriented electric dipole over an infinitely conducted plane of the electromagnetic field induced in the observation point. The paper considers the implementation of the technique a parameterized set of algorithms for GPU. The abundance of the obtained results allows to make the final decision on the results of statistical analysis. Key words: inverse problem; algorithm parameterization; primal algorithm; statistical analysis. 22