Самостоятельная работа 1: Оптимизация вычислительно трудоемкого программного модуля для архитектуры Intel Xeon Phi. Метод Монте-Карло
Введение
Презентацию к лабораторной работе Вы можете скачать здесь.
В настоящее время в медицинских исследованиях, в том числе предклинических, существует потребность в развитии новых неинвазивных и доступных методов диагностики, поскольку используемые традиционные методы (магнитно-резонансная томография, компьютерная томография, позитронно-эмиссионная томография) имеют ряд ограничений связанных с их небезопасностью, высокими требованиями к инфраструктуре и стоимостью оборудования. Классом наиболее перспективных методов диагностики, которые могут применяться как в сочетании с существующими методами, так и в некоторых случаях вместо них, являются оптические методы. Их основными преимуществами являются безопасность для пациента, сравнительно невысокая стоимость приборов и широкие функциональные возможности, обусловленные возможной вариативностью параметров зондирующего излучения (длина волны, модуляция, длина импульса и т.д.).
Для диагностики биотканей на больших глубинах необходимо применять методы, для которых информативным является многократно рассеянное излучение. Одним из таких методов является оптическая диффузионная спектроскопия (ОДС), предоставляющая широкие возможности для неинвазивной диагностики. Метод основан на регистрации многократно рассеянного объектом зондирующего излучения на нескольких длинах волн, определяемых спектрами поглощения исследуемых компонент организма.
Применение метода оптической диффузионной спектроскопии позволяет решать такие задачи, как диагностика и лечение раковых опухолей, в частности, рака груди; мониторинг активности зон коры головного мозга; планирование фотодинамической терапии; мониторинг состояния пациента при хирургическом вмешательстве; определение состояния кожных покровов; и др.
Для успешного применения метода ОДС на практике необходимо выполнять подбор параметров этого метода (таких как взаимное расположение источника и детекторов, длина волны зондирования и др.) путем проведения предварительного моделирования распространения зондирующего излучения в исследуемых биологических тканях. Алгоритм решения этой задачи обсуждается в рамках данной лабораторной работы.
Методические указания
Цели и задачи работы
Цель данной работы – обозначить основные направления и описать техники оптимизации алгоритма моделирования распространения излучения в сложных биологических тканях методом Монте-Карло для эффективного использования сопроцессоров Intel Xeon Phi.
Данная цель предполагает решение следующих основных задач:
- Изучение базовых принципов и особенностей алгоритма моделирования переноса излучения.
- Прямой перенос алгоритма на сопроцессор Intel Xeon Phi.
- Выявление "узких мест" в алгоритме с использованием соответствующих инструментов профилировки.
- Выполнение оптимизации алгоритма с последующей проверкой результатов его производительности.
Структура работы
Работа построена следующим образом: дан краткий обзор алгоритма моделирования распространения излучения в сложных биологических тканях, описана базовая программная реализация этого алгоритма. Описаны особенности распараллеливания и структуры данных, используемые в базовой версии программы. Проведен анализ эффективности базовой версии с помощью профилировщика Intel VTune Amplifier, выявлены направления ее оптимизации. Описаны техники оптимизации, даны результаты их применения.
Тестовая инфраструктура
Вычислительные эксперименты проводились с использованием следующей инфраструктуры (таблица 3.1).
Процессор | Intel Xeon E5-2690 (2.9 GHz, 8 ядер) |
Сопроцессор | Intel Xeon Phi 7110X |
Память | 64 GB |
Операционная система | Linux CentOS 6.2 |
Компилятор, профилировщик, отладчик | Intel C/C++ Compiler 14 |
Рекомендации по проведению занятий
Для выполнения лабораторной работы рекомендуется следующая последовательность действий:
- Дать студентам краткое описание алгоритма моделирования распространения излучения в сложных биологических тканях.
- Рассмотреть прилагаемый к лабораторной работе программный код базовой реализации алгоритма, описать метод проверки корректности результатов. Описать способ распараллеливания и структуры данных базовой версии алгоритма.
- Провести анализ эффективности предложенной реализации, выделить направления для оптимизации.
- Последовательно описать каждую из трех техник оптимизации в данной задаче с демонстрацией полученных результатов.
- Сформулировать выводы, дать задания для самостоятельной работы.