Семинар "Суперкомпьютерные технологии в науке, образовании и промышленности", 29 октября 2013 г. Суперкомпьютерное моделирование в обратных задачах ультразвуковой томографии Гончарский А.В. Романов С.Ю. (докладчик) Московский государственный университет, НИВЦ Постановка задачи волновой томографии проходящая волна регистрируемый сигнал проходящая волна приемник-передатчик •Постановка задачи во временной области •Волновое уравнение c( r )utt ( r, t ) u( r, t ) ( r q) f (t ) u (r , t 0) u t (r , t 0) 0 q X - положение источников c( r ) c0 const , при r R - известна вне неоднородности u( r, t ) U ( r, t ), r Y , t 0 - известна на приемниках •Требуется найти с(r) в R. Обратная задача нелинейная. Приложение к ультразвуковой томографии в медицине • Более 40 тысяч женщин России ежегодно заболевают раком молочной железы. Доля лиц с поздними стадиями заболевания среди первичных больных превышает 40%. • Ультразвуковые томографы высокого разрешения позволят осуществлять раннюю диагностику рака. • Каждое 4-е онкологическое заболевание – рак груди. • Почему не X-Ray томография и не МРТ? Невозможность проведения безопасных регулярных рентгеновских обследований из-за дозы получаемого излучения. МРТ – высокая стоимость. • Почему не использовать стандартные ультразвуковые сканеры? Все УЗИ не являются томографическими. В обычных УЗИ, информация получается с одного или нескольких ракурсов. В томографах используется обзор с 360 градусов. За счет этого высокая разрешающая способность. В США и Европе ведутся интенсивные работы по разработке программного обеспечения и макетов УЗ томографов Постановка задачи волновой томографии. Градиентные методы решения •Прямая задача •Сопряженная задача c(r )utt (r , t ) u (r , t ) (r r0 ) f (t ) u (r , t 0) u t (r , t 0) 0 c (r )w tt (r , t ) w (r , t ) 0 w (r , t T ) w t (r , t T ) 0 n u |ST p (r , t ) n w |ST u |ST U •Обратная задача - минимизация функционала невязки (u(c)) u |ST U 2 •Градиент функционала имеет вид: T C (u (c ), c ) w t (r , t )u t (r , t )dt здесь u (r , t ) 0 w (r , t ) решения основной и сопряженной задач •При проведении расчетов прямой задачи брали граничное условие неотражения на границе области расчетов c(r ) nu |ST t u |ST •Т – выбирали достаточным для прохождения основных прямых и отраженных волн. Численный алгоритм • Аппроксимации частных производных 2-го порядка точности • Явная разностная схема для расчета по временным слоям распространения звуковой волны (расчет «в прямом и обратном времени») uijlk 1 uijlk ( 2 8 2 сijl h 2 ) (ui 1 jlk ui 1 jlk ) 2 сijl h Условие неотражения на границе 2 (uij 1lk uij 1lk ) 2 сijl h 2 Градиент функционала невязки вычисляется по формуле m k 0 uijlk 1 uijlk wijlk 1 wijlk сijl h 2 uijlk 1 Условие устойчивости Куранта c 0.5 h n u |ST c 0.5 t u |ST gradijl (uijl 1k uijl 1k ) 2 3 Итерационная последовательность: 1. В качестве начального приближения используется С0=const. 2. Для С0 с помощью явной разностной схемы решается прямая задача, находим волну u(r,t) на каждом из детекторов. 3. Для функции u(r,t), решается сопряженная задача по явной схеме, получаем w(r,t). 4. Используя полученные значения u(r,t) и w(r,t), вычисляется градиент . 5. Зная градиент в точке С0, находится минимум функционала Φ(c( 0 ) kΦ (c( 0 ) )) C по параметру k в области k>0. 6. Точка минимума функционала принимается за С1. Процесс возвращается к пункту 1. Обратные задачи УЗ томографии. Модельные расчеты Модельный объект. Восстановленная структура томографического слоя • Начальное приближение = const = C0 • Количество источников – 8, количество приемников – 320. • Время - 4 ч на 512 ядрах, 700 итераций, невязка в 100 раз. • Сетка по XY – 1000x1000. • Разрешение 1-3 мм. • Длина импульса 5 мм. Реконструкция по независимым данным •Проблема: Провести реконструкцию по независимым данным. •Экспериментальные данные получены из точных аналитических формул в виде рядов по спецфункциям для равных плотностей. •Хорошее согласие с численными расчетами. График. Вид преломленной волны на границе. Аналитические и численные расчеты. Модель Результаты реконструкции Томографические схемы на прохождение и на отражение Почему важно использовать полный набор данных? полные данные на прохождение на отражение стандартный УЗИ сканер При полном наборе данных: •высокое разрешение, •абсолютные значения скорости Томографические схемы. Послойная реконструкция Послойная реконструкция: • Используется в рентгеновской томографии. • Исходная трехмерная задача разбивается на N (N – число слоев) независимых двумерных обратных задач. • Сетка по XY – 1000x1000. • Решать двумерные задачи проще. • Огромный объем вычислений • Сечений – 40. • Количество источников – 8. • Количество приемников – 320. Структура распараллеливания Источник Задача в целом Приемники Область независимых вычислений Слой 1 Источник 1 Часть 1 Слой 2 Источник 2 Часть 2 … … … Слой N Источник K Часть M •Область обменов •Максимальное число ядер = число слоев х число источников х число частей • Подход позволяет легко практически неограниченно распараллеливать вычисления. • Эффективность распараллеливания 60% (ускорение в ~ 12000 раз) на 20480 ядрах. • Высокая масштабируемость для десятков тысяч процессов. • Подход позволяет свободно маневрировать, при наличии ограничений на число процессоров. Масштабируемость программы • Выравнивание загрузки ядер -> разбиваем матрицу на блоки равного размера. • Минимизации межпроцессорных обменов -> минимизируем периметр блоков • по отношению к их площади. 250 200 Время, сек Варианты разбиения сетки 1*64 2*32 4*16 8*8 Время, сек 692 386 254 220 •Таблица - Сравнение вариантов разбиения сетки на блоки, размер сетки – 1002х1002, число процессов (блоков) – 64. Диаграмма - Повышение масштабируемости на одной матрице по мере модернизации программы basic opt_v1 150 opt_v2 100 opt_v3 opt_v4 50 0 144 196 256 324 400 484 Число процессов • Таблица - Результаты тестирования на суперкомпьютере «Ломоносов» Число 1 2*2 3*3 4*4 5*5 6*6 7*7 8*8 9*9 10*10 11*11 12*12 процесс ов Nproc Время 1893 903 370 291 162 121 67 64 44 40 41 42 15 итерац ий сек 13*13 14*14 44 45 Эффективность программы • E T0 K E T N proc T . • • • • • Nproc Зависимость эффективности E от Nproc на одной матрице: теоретическая (сплошная ) и экспериментальная (пунктир). • • • E - эффективность; Nproc - число процессов; T0 - время расчетов на Nproc с пиковой производительностью; T = T(Nproc ) - экспериментальное время расчета на Nproc ; К = const - время расчетов с одним процессом с пиковой производительностью. Уменьшение Е из-за увеличения времени обменов по отношению к вычислениям. Локальный максимум Е из-за увеличением доли вычислений в кэше. При построении теоретического графика использована простейшая параметрическая модель и типичные значения параметров для процессоров общего назначения. Производительность (ускорение) программы Пр Пр = const / T; • • Nproc Зависимость производительности системы от числа процессоров на одну матрицу (пунктир). Nproc - число процессов; T = T(Nproc) - время расчетов Nproc • Производительность растет с линейной скоростью вплоть до 100 процессов на матрицу. • Знание зависимости эффективности и производительности от Nproc позволяет выбирать стратегии распределения ядер при наличии и отсутствии ограничений на число доступных ядер. Решение задачи на 20480 ядрах суперкомпьютера «Ломоносов» •Впервые проведен масштабный вычислительный эксперимент на 20 480 ядрах суперкомпьютера по послойной реконструкции модельного 3D объекта в УЗ томографии. Верхний ряд модельные сечения 3D объекта. Нижний ряд восстановленные сечения. • Сетка по XY – 1000x1000. • 40 сечений, шаг между сечениями 5 мм. • Разрешение 1-3 мм. • Источников – 8, приемников – 320, импульс - 5 мм. • 20480 ядер = 40 сечений х 8 источников х 8 х 8 областей• Время расчета 4 ч. Послойная реконструкция vs. непосредственно 3D реконструкция Послойная томография 3D томография • Послойная реконструкция: исходная трехмерная задача разбивается на N (N – число слоев) независимых двумерных обратных задач. • 3D реконструкция: решается трехмерное уравнение. 1 • Решать двумерные задачи проще. • Послойная реконструкция хорошо подходит для X-ray, т.к. коэффициент рефракции ~ 1. • Для ультразвука существенны эффекты дифракции, рефракции, переотражения, излучение не сохраняется в слое. • Большой объем данных: 24 источника, приемники с шагом полдлины волны, оцифровка по времени 20 отсчетов на длину волны, 400х400 х400 точек сетки в области расчетов, число неизвестных порядка ста миллионов. Послойная реконструкция vs. непосредственно 3D реконструкция •Проблема: Насколько качественна послойная реконструкция 3D объекта в УЗ томографии? •Модельный эксперимент для сферы. •Экспериментальные данные получены из точных аналитических формул в 3D. •В случае < 0.5R: качество реконструкции хорошее. •В случае > 0.5R: искажение геометрической формы, появление артефактов, размывание вдоль оси z. • Для получения высокого разрешения необходимо решать 3D. Верхний ряд модельные сечения 3D шара радиуса 6см. 1 Z = 0 см Z = 3 см Z = 4 см Z = 5 см Нижний ряд восстановленные сечения Z = 6 см Структура распараллеливания в 3D Задача в целом Источник 1 параллелепипед 1 Источник 2 параллелепипед 2 … … Источник K параллелепипед M • Число источников = числу карт GPU. • Графические карты NVIDIA Tesla X2070 суперкомпьютер «Ломоносов», С/С++/OpenCL. • Обмен данными между узлами по MPI занимает менее 2% от времени расчета каждой карты Рис. Схема параллельных расчётов для нескольких источников одного шага градиентного спуска Структура распараллеливания в 3D X Y Z Рис. Схема расчета одной подзадачи (для одного источника). Рис. Процедура вычислений по явной по времени трёхмерной разностной схеме • Явная разностная схема – высокая степень параллелизма. Около 108 параллельно вычислимых операций • Область размера 400х400 в плоскости ХУ разбивается на прямоугольные блоки размера 32х16 точек • Каждый мультипроцессор (MP) GPU обрабатывает отдельный блок 32*16*Zn точек сетки последовательно по слоям, где Zn – размер области вдоль оси Z. 32х16=512 потоков • При последовательных послойных расчетах автоматически активно используются регистры и кэш-память GPU. • В быстрой памяти GPU хранятся данные 2 шагов по времени -> высокая производительность. • Во внешней памяти - данные для границ. Ввиду малого объема, время обмена по медленному каналу с внешней памятью составляет около 2% от времени расчетов. Полный диапазон данных в 3D •Впервые разработаны алгоритмы и создан комплекс масштабируемых программ для суперкомпьютеров на GPU в 3D задачах УЗ томографии в медицине. •Проведены модельные расчеты на сетках до 500х500х500 для прямой и обратной задачи с полным и неполным диапазоном углов данных, разрешение порядка 2-3 мм. Фантом скорости Схема эксперимента Восстановленная скорость Неполный диапазон данных в 3D Решение задачи на суперкомпьютере «Ломоносов» 17 графических карт NVIDIA Tesla X2070. Схема эксперимента 1 Источников -17 Время ~ 2 часов Длина импульса - 5 мм. Сетка 420х420х420. Область 10х10х10 см Сечение скорости Восстановленная скорость Схема эксперимента 2 Модельные расчеты на GPU 5 итераций; 15 итераций; 120 итераций 10 Результаты модельных расчетов (u(c )) (n) 10 • • • Невязка за 120 итераций уменьшилась в 30 раз. Невязки 2.3*10-4 соответствует уровню ошибки ~ 0.23%. Метод наискорейшего спуска обеспечивает монотонное убывание невязки. Вначале убывает быстро, затем скорость заметно уменьшается. Число итераций Функционал невязки 6 источников Время расчета (мин) 10 10 0 20 40 60 80 100 120 n График невязки от числа итераций 5 15 120 6.3*10-3 1.6*10-3 2.3*10-4 5 15 120 Задача волновой томографии с учетом поглощения • • В задачах ультразвуковой томографии на частотах > 0.5 Мгц поглощение более 50%. Частота 20 Мгц – только для подкожного слоя. Разработан новый подход, учитывающий поглощение в среде. Основная задача Модель1 (поглощение не зависит от частоты) c( r )utt ( r, t ) a ( r )ut ( r, t ) u( r, t ) ( r q) f (t ) u (r , t 0) u t (r , t 0) 0 n u |ST p ( r , t ) •Обратная задача – минимизация функционала невязки (u (c ), c ) u |ST U 2 •Градиент функционала имеет вид: T C (u (c ), c ) w t (r , t )u t (r , t )dt 0 •Сопряженная задача c( r ) wtt ( r, t ) a(r)wt ( r, t ) w( r, t ) 0 w (r , t T ) w t (r , t T ) 0 nw |ST u |ST U T a (u(c, a )) wt ( r, t )u( r, t )dt 0 где u( r, t ) w (r , t ) решения основной и сопряженной задач Основная задача Модель2 (поглощение квадратично зависит от частоты стоксовское поглощение в вязких средах) c( r )utt ( r, t ) a ( r )( u ) t u( r, t ) ( r q) f (t ) Обратные задачи УЗ томографии с учетом поглощения. Модельные расчеты • • Удалось в модельных расчетах реконструировать одновременно 2 функции (скорости и поглощения). Скорость восстанавливается лучше. Фантом скорости 500 итераций 64 источника Фантом поглощения 3500 итераций 64 источника Восстановленное поглощение Точное и восстановленное сечения Обратные задачи УЗ томографии с учетом поглощения. Модельные расчеты • • • Восстановить скорость можно без учета поглощения. Восстановить поглощение при неправильной модели – проблематично. Фантом скорости Фантом поглощения Решение на основе Модели 1 по данным из Модели 2 4 источника без учета поглощения Суперкомпьютерное моделирование •Проблема: Насколько влияет плотность на реконструкцию в задачах УЗ томографии в медицине. •Из уравнения движения, непрерывности и состояния можно получить u(r , q, ) 2 c 2 (r ) u = f (r , q, ) (r ) u(r , q, ). (r ) •Экспериментальные данные получены из точных аналитических формул в 2D для разных плотностей •В мягких тканях человека плотность варьирует ~ 20%. •Импедансы равны – отражения нет, хуже разрешение •Если акустический импеданс противоположен, то появляется двоение границы. •Результаты моделирования обнадеживают. 1 2 Модель График. Вид отраженной и преломленной волн для разных плотностей 1 2 Результаты реконструкции 1 2 Суперкомпьютерное моделирование •Влияние шага между детекторами. λ/2 1.5λ 3λ Результаты реконструкции 4 источника •Влияние количества источников. Результаты реконструкции. Шаг между детекторами 3λ •Вывод: Уменьшение числа приемников можно компенсировать увеличением числа источников 8 источников 32 источника Суперкомпьютерное моделирование •Влияние длины импульса. λ=5мм λ=10мм Результаты реконструкции 4 источника •Количество уровней оцифровки сигнала 1024 уровня Результаты реконструкции 4 источника 128 уровней 32 уровня Основные результаты и выводы •Предложены эффективные методы и алгоритмы решения 3D задач волновой томографии как коэффициентных обратных задач через прямое вычисление градиента функционала невязки. Методы предполагают как послойное (двумерное) восстановление 3D объекта, так и решение непосредственно трехмерного уравнения. •Решение непосредственно 3D уравнения позволяет повысить качество реконструкции и разрешение. Удается восстанавливать не только форму неоднородности, но и абсолютные значения скоростей. •3D задача приводит к сверхбольшому объему данных в нелинейной обратной задаче с числом неизвестных порядка ста миллионов. •Разработанные алгоритмы хорошо масштабируются на процессорах общего назначения и на GPU. Предложена структура программы, позволяющая выделить большое количество независимых параллельных процессов в общем потоке задачи. •В моделях с учетом поглощения удалось в модельных расчетах реконструировать одновременно 2 функции (скорости и поглощения). Скорость восстанавливается лучше. •Работа выполнена при поддержке РФФИ проекты № 12-07-00304-А и №. 13-07-00824 А