Научная статья на тему 'Итерационная параллельная реконструкция изображений на кластере OpenPOWER'

Итерационная параллельная реконструкция изображений на кластере OpenPOWER Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
56
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РЕКОНСТРУКЦИЯ ИЗОБРАЖЕНИЙ / RECONSTRUCTION OF IMAGES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Золотарев С. А., Венгринович В. Л., Васильев А. В.

В настоящее время одной из наиболее важных задач является разработка и адаптация итерационных методов для решения сверхбольших разреженных систем алгебраических уравнений. К таким вычислительным задачам приводит задача итерационной параллельной реконструкции трехмерных изображений промышленных объектов. Важным является то, что итерационные методы решения вычислительных задач большой размерности реализуются на параллельных структурах намного более эффективно, чем прямые методы их решения. В этой работе описан синхронный параллельный алгоритм, основанный на использовании системы MPI для решения задачи реконструкции трехмерных изображений промышленных объектов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ITERATIVE PARALLEL RECONSTRUCTION OF IMAGES ON OPENPOWER CLUSTER

Now one of the most important tasks is development and adaptation of iterative methods for the solution of the big rarefied systems of the algebraic equations. The problem of iterative parallel reconstruction of three-dimensional images of industrial facilities leads to such computing tasks. The fact that iterative methods of the solution of computing problems of big dimension are implemented on parallel structures much more effectively is important than direct methods of their decision. In this work the synchronous parallel algorithm is described, based on use of the MPI system for the solution of a problem of reconstruction of three-dimensional images of industrial facilities.

Текст научной работы на тему «Итерационная параллельная реконструкция изображений на кластере OpenPOWER»

УДК 620.179.15

С.А. ЗОЛОТАРЕВ1, В.Л. ВЕНГРИНОВИЧ1, А.В. ВАСИЛЬЕВ2

ИТЕРАЦИОННАЯ ПАРАЛЛЕЛЬНАЯ РЕКОНСТРУКЦИЯ ИЗОБРАЖЕНИЙ НА КЛАСТЕРЕ OPENPOWER

1ГНУ «Институт прикладной физики НАН Беларуси» 2Белорусский национальный технический университет

В настоящее время одной из наиболее важных задач является разработка и адаптация итерационных методов для решения сверхбольших разреженных систем алгебраических уравнений. К таким вычислительным задачам приводит задача итерационной параллельной реконструкции трехмерных изображений промышленных объектов. Важным является то, что итерационные методы решения вычислительных задач большой размерности реализуются на параллельных структурах намного более эффективно, чем прямые методы их решения. В этой работе описан синхронный параллельный алгоритм, основанный на использовании системы MPI для решения задачи реконструкции трехмерных изображений промышленных объектов.

Введение

Развитие современной вычислительной техники обеспечило появление на рынке большого числа различных суперкомпьютеров с большой вычислительной мощностью. Они успешно применяются для решения разнообразных вычислительных задач в науке и промышленности. Обширный обзор различных параллельных алгоритмов можно найти в известных работах В. Н. Фаддеевой и Д. К. Фаддеева [1-3], В.В. Воеводина [4-6], Дж. Ортеги [7], Д.П. Бертсекаса [8]. На сегодняшний день наиболее распространенными являются системы параллельного программирования на основе интерфейса MPI (Message Passing Interface). Идея MPI [9] исходно проста и очевидна. Она предполагает представление параллельной программы в виде множества параллельно исполняющихся процессов. Одной из наиболее важных задач является разработка и адаптация итерационных методов для решения сверхбольших разреженных систем алгебраических уравнений, к которым и приводит трехмерная томографическая задача. Важным при этом является то, что итерационные методы решения вычислительных задач большой размерности реализуются на параллельных структурах намного более эффективно, чем прямые методы

их решения. Большинство алгоритмов, основанных на прямых методах решения, обладают существенной наследственной последовательной структурой и требуют значительного числа взаимодействий между процессорами, которые не могут быть выполнены в параллельном режиме. Итерационные же методы в большинстве своем требуют значительно меньшего числа взаимодействий подобного типа и сравнительно легко отображаются на параллельные вычислительные структуры. Не менее важно и то, что в большинстве случаев параллельные реализации классических итерационных методов являются более эффективными в отношении скорости сходимости. Параллельное выполнение алгоритма заключается в том, что вычислительный процесс распределяется некоторым образом между несколькими процессорами. Реализация такого рода параллельных алгоритмов может быть эффективно осуществлена с использованием стандарта MPI. Известны следующие основные формы параллелизма в алгоритмах компьютерной томографии: воксельный проекционный и лучевой. Схематично выполнение параллельного процесса можно описать так: PAR {последовательность вычислительных операций}. Вок-сельный параллелизм использует регулярность

структуры восстанавливаемых данных в виде двумерного или трехмерного массива, заданного в соответствующих центральных точках вокселей трехмерной области реконструкции. Пусть J = 1, 2, .., N - множество всех вокселей. Если алгоритм томографической реконструкции использует идентичные операции для каждого вокселя, то вычислительный процесс может быть распараллелен следующим образом: PAR J = 1 FOR N {вычислительный процесс для j-го вокселя}.

2. Синхронный параллельный алгоритм реконструкции изображений

В лаборатории Вычислительной диагностики ИПФ НАНБ разработаны синхронные параллельные вычислительные алгоритмы и программные коды на языке программирования С++ и системы MPI для трехмерной томографической реконструкции в коническом пучке. Отладка программного кода и численные расчеты были осуществлены на гибридном вычислительном кластере на базе архитектуры OpenPOWER в системе MPI. Для осуществления параллельной трехмерной томографической реконструкции была использована вок-сельная форма параллелизма.

Алгоритм параллельной реконструкции при круговом движения источника

Вход: Число итераций n iter, Коэффициент релаксации lambda, Число двумерных проекций - n_prj, Проекции Pl = 1, ..., n_prj с размерностями по осям ОХ и ОУ - size_x и size_y, заданные в виде одномерных векторов P(ll> = (P(l)1, ..., P^npJ, дискретизирован-ное начальное трехмерное изображение объекта реконструкции с размерностями по осям ОХ, ОУ и OZ - dim_x, dim_y и dim_z, представленное в виде одномерного вектора V = (Vp ■■, Vpos obj) ,число процессов n_pol, которое является делителем dim_y. А также - posobj = dim x * dim_y * dim_z; n_pix=size_x*size_y; p_pol = pos_obj/n_pol.

Выход: Для каждого вокселя V, j = 1, ..., pos obj трехмерного цифрового изображения объекта рассчитано соответствующее значение линейного коэффициента ослабления внутри объекта реконструкции.

1: Инициализируем систему параллельного программирования MPI -

MPI_Init(&argc, &argv);

MPI_Comm_size(MPI_COMM_WORLD, &size);

MPI_Comm_rank(MPI_COMM_WORLD, &rank);

MPI_Get_processor_name(processor_name, &namelen);

2: Создаем топологию «полный граф» с p_pol независимо выполняющимися процессами

MPI_Graph_create(MPI_COMM_WORLD, p_pol,index,edges,reord,&comm_gr);

3: Для всех процессов одновременно выполняем последовательность операций

3.1: Для каждого процесса и соответствующей ему части изображения V"), ne{1, ..., n_pol} с числом вокселей p_pol строим свою проекционную матрицу

for(i = 0; i <= n_prj; i++) InitPrjMatr( p_pol,i,rank,comm_gr);

3.2: Для каждого процесса организуем цикл 1 по числу итераций

for(k = 0; k < n iter; k++){Teno цикла 1}

3.3: Внутри тела цикла 1 для каждой части изображения V"), ne{1, ..., n_pol} организуем цикл 2 по числу вокселей p_pol

for(j = 0; j < p_pol; ]'++){Тело цикла 2}

3.4: Внутри тела цикла 2 организуем цикл 3 по числу проекций n_prj

for(l = 0; l < n_prj; 1++){Тело цикла 3}

3.5: Внутри тела цикла 3

Для каждого вокселя V^j, j = 1, ..., p_pol записываем в пиксели P^ коэффициенты взаимодействия луча, проведенного из соответствующего пикселя к положению рентгеновского источника, с данным вокселем.

3.6: После окончания цикла 2 и цикла 3 в n_prj двумерных массивах smp[l][n_pix], l = 1, ., n_prj будут находиться рассчитанные лучевые суммы для соответствующей каждому процессу части изображения V(n), ne{1, ..., n_pol} с числом вокселей p_pol. Для того, чтобы все процессы синхронно закончили свои вычисления, останавливаемся и ждем, когда финиширует самый медленный процесс.

MPI_Barrier(comm_gr);

3.7: Суммируем в массивах smr[l] [n_pix] массивы smp[l] [n_pix] для всех n_pol процес-

сов и затем перезаписываем их обратно в массивы smp[l] [n_pix].

for(l = 0; l < n_prj; l++) MPI_Allreduce(smp[l],smr[l], n_pix, MPI_UNSIGNED_SHORT,MPI_SUM,comm_gr); for(l = 0; l < n_prj; l++) for(i = 0; i < n_pix; i++)smp[l][i] = smr[l][i];

3.8: Внутри тела цикла 1 для каждой части изображения У">, ne{1, ..., n_pol} организуем цикл 4 по числу вокселей p_pol

for(j = 0; j < p_pol; j++){Тело цикла 4}

3.9: Внутри тела цикла 4 организуем цикл 5 по числу проекций n_prj

for(l = 0; l < n_prj; 1++){Тело цикла 5}

3.10: Внутри тела цикла 5 для каждого вокселя Vt^j , j = 1, ..., p_pol рассчитываем поправку путем суммирования для всех пикселей Р^, в которые проецируется данный вок-сель, разности значений экспериментальной проекции smf[l][i] и рассчитанной проекции smp[l][i], ie{1, ..., n_pix}, умноженной на значение коэффициента взаимодействия луча, проведенного из данного пикселя к положению рентгеновского источника для данной проекции, c вокселем V(nj

objp[j]= (smf[l][i]-smp[l][i])*dl_pr[l][i]).

Вносим эту поправку, умноженную на значение коэффициента релаксации lambda, в одномерный массив objr[j], j = 1, ..., p_pol представляющий собой вектор текущего значения коэффициента линейного ослабления для рассматриваемого процесса

objr[j] = objr[j] + lambda*objp[j].

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

MPIBarrier(commgr);

3.11: Собираем скорректированные значения каждой части изображения У"\ ne{1, ..., n_pol} с числом вокселей p_pol в полное изображение с числом вокселей pos obj, расположенное в одномерном массиве objf[pos_obj].

MPI_Allgather(objrp_pol,MPI_UNSIGNED_ SHORT,objf,p_pol,

MPIUNSIGNEDSHORT, commgr);

3.12: if Число итераций меньше n_iter then

Заканчиваем тело цикла 1 для очередной итерации и переходим к следующей итерации else

Заканчиваем тело цикла 1 и выходим из него. end if

4: Заканчиваем работу с системой параллельного программирования MPI и выходим из программы.

MPI_Finalize(); return(1);

3. Примеры реконструкции изображений промышленных объектов

С целью исследования возможности создания на территории Республики Беларусь промышленных томографов на основе уже выпускаемого серийно рентгеновского оборудования фирмы «Адани» (Минск) было проведено рентгеновское сканирование пяти бескорпусных игольчатых подшипников 664715 Д на рентгеновской установке Пульмоскан -760У с подвижным линейным детектором с 2560 элементами. Ниже на рис. 1 показан перспективный вид данной установки спереди.

Физический размер детекторного элемента равнялся 0,2 мм, расстояние от рентгеновского источника до планки детекторов - 1385 мм. Рабочее напряжение рентгеновской трубки 120 КВ, рабочий ток - 25 миллиампер, размер фокусного пятна - 0,3 мм (X-RAY генератор Sedecal «SHF-335», Рентгеновская трубка VARIAN G-297, максимальное напряжение - 150 КВ, макс. ток. - 150 ма). Получено 120 цифровых

Рис. 1. Вид спереди рентгеновской установки Пульмоскан-760У

Рис. 3. Реконструированное изображение сепаратора в трех различных положениях

рентгеновских снимков размером 2560x2560 с разрешением 0,2x0,2 мм через интервал 3 градуса для полного диапазона 360 градусов. На рис. 2 показана рентгеновская проекция пяти сепараторов с интенсивностями не поглощенного излучения для начального угла поворота, равного 0 градусов.

В результате осуществления итерационной трехмерной томографической реконструкции для сепараторов бескорпусных игольчатых подшипников 664715 Д получены трехмерные томограммы размером 580x280x580 объемных элементов с разрешением 0,16x0,16x0,16 мм. Время счета одной итерации - 1 минута. Реконструкция была осуществлена как по 60 проекциям с угловым шагом между проекциями 6 градусов, так и реконструкция по 120 проекциям через угловой шаг между проекциями равный 3 градусам. Далее на рис. 3 приведено изображение одного из сепараторов.

Для выполнения расчетов были использованы вычислительные ресурсы ЦКП «Центр данных ДВО РАН» [10].

Заключение

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

ЛИТЕРАТУРА

1. Фаддеева В. Н. Параллельные вычисления в линейной алгебре / В. Н. Фаддеева, Д. К. Фаддеев Д. К. // Кибернетика. - 1977. - № 6. - С. 28-40.

2. Фаддеева В. Н. Параллельные вычисления в линейной алгебре / В. Н. Фаддеева, Д. К. Фаддеев Д. К. // Кибернетика. - 1982. - № 3. С. 18-31.

3. Фадеев А. К. Вычислительные методы линейной алгебры / А. К. Фадеев, В. Н Фадеева, - Санкт-Петербург: Лань, -2002. - 736 с.

4. Воеводин В. В. Математические модели и методы в параллельных процессах / В. В. Воеводин, - Москва: Наука, -1986. - 296 с.

5. Воеводин В. В. Параллельные структуры алгоритмов и программ / В. В. Воеводин, - Москва: ОВМ АН СССР, -1987. - 148 с.

6. Воеводин В. В. Параллельные вычисления / В. В. Воеводин, Вл. В. Воеводин, - Санкт-Петербург: БХВ-Петербург, 2004. - 608 с.

7. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем / Дж. Ортега, - Москва: Мир, - 1991. - 367 с.

8. Bertsekas D. P. Parallel and Distributed Computation: Numerical Methods. / D. P. Bertsekas, J. N. - Prentice-Hall, Inc. Upper Saddle River, NJ, USA, NJ, - 1989. - 716 p.

9. Корнеев В. Д. Параллельное программирование в MPI / В. Д. Корнеев, - Москва-Ижевск: Институт компьютерных исследований, - 2003. - 304 с.

10. Сорокин А. А., Макогонов С. В., Королев С. П. Информационная инфраструктура для коллективной работы ученых Дальнего Востока России // Научно-техническая информация. Серия 1: Организация и методика информационной работы. 2017. № 12. С. 14-16.

Поступила После доработки Принята к печати

01.06.2019 11.09.2019 01.10.2019

ZOLOTAREVS. A., VENGRINOVICH V. L, VASILYEVA. V

ITERATIVE PARALLEL RECONSTRUCTION OF IMAGES ON OPENPOWER

CLUSTER

Now one of the most important tasks is development and adaptation of iterative methods for the solution of the big rarefied .systems of the algebraic equations. The problem of iterative parallel reconstruction of three-dimensional images of industrial facilities leads to such computing tasks. The fact that iterative methods of the solution of computing problems of big dimension are implemented on parallel structures much more effectively is important than direct methods of their decision. In this work the synchronous parallel algorithm is described, based on use of the MPI system for the solution of a problem of reconstruction of three-dimensional images of industrial facilities.

Золотарев Сергей Алексеевич, ул. Некрашевича д. 8, кв. 58, служебный тел. 284-23-04, моб. тел. +375(029) 195-72-42. E-mail [email protected], ГНУ «Институт прикладной физики НАН Беларуси», доктор технических наук.

Венгринович Валерий Львович, 220072, г. Минск, ул. Академическая, д. 16, служ. тел., факс 284-23-44, моб. тел. +375(029)7573210, E-mail: [email protected], ГНУ «Институт прикладной физики НАН Беларуси», зав. лаб. вычислительной диагностики, доктор технических наук, профессор.

Васильев Александр Васильевич, 220007, г. Минск, ул. Нефтяная д.12, кв. 1. Мобильный тел. +375(44) 575-27-37 (Велком), E-mail [email protected], Белорусский национальный технический университет, соискатель.

i Надоели баннеры? Вы всегда можете отключить рекламу.