Системы визуализации и виртуального окружения в задачах нанотехнологий

27.01.2011

С .В. Клименко, П .В. Фролов

Институт физико-технической информатики, Протвино

Научная визуализация - Scientific Visualization - развивает методы и средства понимания решаемых проблем за счёт привлечения способности человека видеть и понимать изображения. По Словарю Вебстера - слово "визуализация" - производное существительное от глагола - visualize - to form a mental image; picture in the mind. По мнению обывателя "увидеть, значит поверить", или "одна картинка стоит тысячи слов".

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

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

Исследователи в Университете Северной Каролины (Чапель Хил, США) используют технологию виртуального окружения (ВО) для выполнения задач по исследованию и модификации поверхностей образцов. Ученый может виртуально менять точку обзора и освещение динамически меняющего изображения поверхности образца, в то время как микроскоп продолжает сканирование поверхности. При желании, он также может прекратить сканирование, перевести зонд на интересующий его участок поверхности и уже на нем проводить измерения. Либо контролировать перемещение зонда и управлять модификацией поверхности, так, будто бы ученый "царапает" ее вручную.

Ощущение погружения достигается за счет стереоскопической визуализации изображений, генерируемых проекционной системой ВО и просматриваемых с помощью специальных очков с проекционного экрана, настольного монитора или сенсорного монитора. Пользователь держит сенсорное перо (так называемое хэптик устройство) как обычную ручку; датчики снимают 4D измерения положения кончика. Моторы подают силу, равную усиленному в 3-6 крат сигналу. Передвижения пера по экрану сенсорного монитора приводят к изменению положения и силы воздействия зонда на образец. Ощущения от работы с реальными макроскопическими образцами являются впечатляющими.

Сфера деятельности нанотехнологий находится на стыке многих научных дисциплин, таких как химия, биология, физики и электроника. При моделировании или экспериментальных исследования в области нанотехнологий приходится обрабатывать огромное количество данных, поэтому здесь пригодились бы современные методы компьютерной визуализации. Визуализация широко распространена в области нанотехнологий, а идея смешанной визуализации не является новой. Однако на практике большинством исследователей визуализация используется в недостаточной степени или вообще не используется, уровень использования визуализации часто ограничивается построение 2D и 3D графиков в среде Matlab или отрисовкой трехмерных картинок нанотрубок. В тоже время современные методы визуализации могут предоставить широкий спектр способов исследования многомерных и сложных данных. В качестве примеров можно привести: интерактивное виртуальное исследование данных, возможность выделение признаков и подсветка деталей, а также методы для отображения большого объема данных в различные визуальные подсказки.

Одной из главных задач в области визуализации является предоставление пользователям средства для эффективного изучения данных и исследования новых значимых свойств и особенностей моделей и данных, которые нельзя понять с помощью классических методов анализа. На текущий момент создано большое количество программных пакетов трехмерной визуализации строения молекул как коммерческих, так и свободно распространяемых. Основной целью разработки подобных программ является понимание результатов экспериментальных и теоретических исследований. На текущий момент в мире получено огромное количество данных по рентгеновскому рассеивании на атомах различных молекул. Подобные исследования дают информацию о физическом расположении атомов в молекуле. Существует ряд стандартных форматов для записи этой информации, одним из самых распространенных является PDB (Protein Data Bank) [9]. В мире уже создано несколько баз данных молекулярной информации, где любой желающий может получить информацию о строении различных молекулярных соединений в стандартном формате. Но сама по себе информация не дает новое знание. Получение нового знания состоит в ее обработке и выявлении закономерностей на основе исходной информации. Помощь в такой обработке обеспечивают программы визуализации молекулярного строения. В частности, в программе QuteMol [1] используются специальные способы подсветки и выделения особенностей такие как, выделение силуэтов на основе информации о глубине, имитация глобального освещения, в программе ProteinShader [2] применена техника нефотореалистической компьютерной графики, которая дает наглядную информацию о структурном строении, отдельных блоках и связях в молекуле. Пакет QuteMol включен в качестве плагина в другой более мощный пакет NanoEngineer-1 [3], который позволяет с помощью специализированных пакетов квантовомеханических расчетов создавать и визуализировать молекулярные наномашины, нанотрубки различных конфигураций, системы молекулярной сборки и молекулярный дизайн на основе молекулы ДНК. Примеры визуализации можно посмотреть на сайте проекта.

Другим важным преимуществом использования систем виртуального окружения в нанотехнологиях является сокращение времени на обработку данных и предоставление исследователям среды интерактивного погружения в сами данные, которая поможет ускорить научные открытия. Такая система уже на протяжении многих лет используется в американском Национальном Институте Стандартов и Технологий (NIST) [4,5,6] и уже приносит конкретную пользу исследователям в области наномира.

Процесс исследования можно абстрактно разделить на три главных компонента: теория, анализ, эксперимент. Эти элементы триады непосредственно связаны друг с другом. Под экспериментом можно понимать как компьютерный эксперимент — численное математическое моделирование, так и лабораторный эксперимент. Оба типа экспериментов становятся все более паралелльными. В лабораторных экспериментах применяется технология комбинаторного эксперимента. А для компьютерных экспериментов используются все более высокопроизводительные компьютерные системы. Все это порождает огромное количество данных, которые поступают на стадию анализа. Анализ может получить наиболее значительный выигрыш от визуализации. Центральной частью системы визуального анализа в NIST является установка виртуального окружения, которая может состоять из нескольких проекционных стенок.

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

Известно также, что разработками аналогичныхсистем занимаются ученые из разных зарубежных исследовательских центров, например, проект HIVE [7] ученых из Университета Пардью (США) - это рабочая среда для визуализации данных нанотехнологии.

Часто для манипуляции с наночастицами используются оптические пинцеты. Оптические пинцеты - это бесконтактный метод манипуляции частицами, с помощью которого можно захватить, переместить и отпустить частицу, действуя в трех измерениях. Преимуществом метода перед атомным силовым микроскопом или сканирующим туннельным микроскопом является отсутствие контакта и малая величина сил (пико-нано Ньютоны). В последнее время достигнут значительный прогресс в использовании оптических пинцетов для манипуляции частицами. Визуализация манипуляцией наночастиц с помощью оптических пинцетов затруднена из-за размеров наночастиц и величины их сил. Группа исследователей из университета Луизианы и Мичиганского университета предложила использовать системы виртуального окружения в качестве промежуточного интерфейса между реальным макро миром и микро миром. Оптические пинцеты состоят из сфокусированного лазерного пучка. Фотоны лазерного пучка воздействуют по закону сохранения моментов на наночастицы, тем самым сообщая им импульс в направлении лазерного пучка.

Для манипуляции частицами очень важно знать силы до, после и во время воздействия лазерным пучком. В зависимости от размера частиц в сравнении с длинной волны фотонов различают три режима работы: режим Рэлея режим Ми и смешанный режим. Оптические пинцеты особенно пригодны для работы с мелкими частицами, т.е. в режиме Рэлея.

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

Важную роль визуализация играет в процессе подготовки специалистов в области нанотехнологий. Здесь новый специалист, как говорится, может "пощупать" своими руками, "ощутить" наномир, погружение в который создадут системы виртуального окружения.

Таких образом откроется виртуальное окно в мир, где можно увидеть как системы работают на атомарном уровне. В этой области уже существует ряд коммерческих и открытых разработок. Например, разработка Visualization tools for K-12 Classrooms [8] американских дистрибьюторов фирмы Nanosurf. Оригинальная разработка портативного школьного атомного силового микроскопа The Nanosurf EasyScan 2 AFM and STM была дополнена соответствующим программным обеспечением, которое показывает принципы работы атомного силового микроскопа, а также обеспечивает процессы постобработки данных. С помощью такой системы школьники быстро поймут принципы работы системы, научатся ее использовать и смогут интерактивно исследовать объекты окружающего мира, будь-то атомные поверхности графита, платины или поверхность кожи на руке.

Тем не менее, многие современные методы визуализации не являются простыми в использовании и обычно требуют достаточной квалификации и современного оборудования. Из-за того разнообразия в вычислительных системах и средах, которые используются исследователями в области нанотехнологий, совместимость форматов данных и протоколов является одним из ключевых препятствий, которые необходимо преодолеть на пути реализации системы визуализации для сферы нанотехнологий. Другой значимой проблемой является удобство использования инструментов виртуального исследования данных. Пользователь не должен тратить значительные ресурсы времени на изучение работы с виртуальной средой. Система взаимодействия с виртуальной средой должна быть интуитивно понятна. Использование сложных квантовомеханических расчетов и алгоритмов численного анализа требует, чтобы в разрабатываемый комплекс помимо системы виртуального отображения вошли системы суперкомпьютерных вычислений. На данный момент самыми распространенными суперкомпьтерными системами являются кластерные системы. При этом требуется обеспечить прозрачное и надежное взаимодействие и обмен данными между вычислительным кластером и системой отображения.

Нашей главной целью в этом проекте программно-аппаратного комплекса виртуальной реальности для систем исследовании в области нанотехнологий является обеспечение исследователей доступом к современным средства визуализации и поощрение применения визуализации для изучения, понимания и обучения в области нанотехнологий.

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

Для расчетов по задачам проекта предполагается использовать вычислительный кластер на базе суперкомпьютерных блоков графических ускорителей Tesla. Это специализированное решение компании nVIDIA для создания суперкомпьютерных кластеров на графических ускорителях. Предполагаемая вычислительная мощность при вычислениях с двойной точностью превысит в тесте Linpack 1ТФлоп. Тест Linpack используется в качестве меры сравнения производительности различных суперкомпьютерных систем. На текущий момент в российском рейтинге Top-50 (50 наиболее высокопроизводительных систем) нет ни одной системы на базе графических ускорителей, в то время как в зарубежном рейтинге Top-500 суперкомпьютер Tsubame Токийского Технологического Института на базе 170 блоков Tesla занимает 29-ю строчку рейтинга. Институт физико-технической информатики имеет опыт создания подобных систем. В частности, была создана система на базе четырех суперкомпьютерных блоков Tesla для НИИ Теплопробор.

Суперкомпьютерные блоки Tesla поддерживаются общим API программирования CUDA. Основными характеристиками CUDA являются:

· унифицированное программно-аппаратное решение для параллельных вычислений на видеочипах nVIDIA;

· большой набор поддерживаемых решений, от мобильных до мультичиповых;

· стандартный язык программирования Си;

· стандартные библиотеки численного анализа FFT (быстрое преобразование Фурье) и BLAS (линейная алгебра);

· оптимизированный обмен данными между CPU и GPU; взаимодействие с графическими API OpenGL и DirectX;

· поддержка 32- и 64-битных операционных систем: Windows XP, Windows Vista, Linux и MacOS X;

· возможность разработки на низком уровне.

Среда разработки CUDA (CUDA Toolkit) включает:

· компилятор nvcc;

· библиотеки FFT и BLAS;

· профилировщик;

· отладчик gdb для GPU;

· CUDA runtime драйвер в комплекте стандартных драйверов NVIDIA

· руководство по программированию;

· CUDA Developer SDK (исходный код, утилиты и документация).

Параллельная архитектура CUDA строится следующим образом. В состав GPU входит несколько кластеров текстурных блоков (Texture Processing Cluster). Каждый кластер состоит из укрупненного блока текстурных выборок и двух-трех потоковых мультипроцессоров, которые в свою очередь включают восемь вычислительных устройств и два суперфункциональных блока. Выполнение инструкций осуществляется по принципу SIMD, только одна инструкция выполняется сразу для всех потоков в warp (группа из 32 потоков - минимальный объем данных обрабатываемый мультироцессорами).

Такой способ выполнения получил название SIMT (single instruction multiple threads - одна инструкция для множества потоков). В CUDA существует несколько типов памяти: разделяемая, константная, глобальная и текстурная. У каждого мультипроцессора есть доступ к разделяемой памяти объемом 16Кбайт. Эта память не является кэшем, хотя обеспечивает наиболее быстрый доступ к ресурсам. У каждого мультипроцессора есть 8Кбайт кэш памяти для константных и текстурных данных. Потоки одного блока выполняются всегда на одном мультипроцессоре. Потоки разных блоков не могут обмениваться данными, так как они могут выполнятся разными мультироцессорами. Мультипроцессоры обладают большим количеством регистров (16384 для архитектуры GT2xx) общими для всех потоков всех блоков, которые выполняются на мультипроцессоре. В архитектуре GT200 может быть до 1024 потоков на мультипроцессор, которые организованы в 10 кластеров по три мультипроцессора, обрабатывающих до 30720 потоков. Таким образом в архитектуре Tesla имеется 30 мультипроцессоров.

Программирование CUDA основано на создании вычислительных ядер (kernel), которые запускаются на мультипроцессорах. Ускоритель получает ядро и создает копии каждого элемента данных. Эти копии и есть потоки. В потоках содержатся также счетчики, регистры и состояние. Потоки выполняются группами по 32 штуки, называемыми warp'ы. Warp'ы запускаются на определенных мультипроцессорах, каждый из которых состоит из восьми ядер потоковых процессоров, которые могут выполнять одну инструкцию MAD за один такт. Для исполнения одного 32-поточного блока требуется четыре такта мультипроцессора. Мультипроцессор отлично приспособлен для многопоточности. С каждым тактом он выбирает какой из warp'ов исполнять, и переключается между ними без потери времени. Если говорить в терминах центрального процессора, то это аналогично одновременному исполнению 32 программ и запуск их без потери на переключение контекстов.

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

Списоклитературы

[1] Marco Tarini, Paolo Cignoni, Claudio Montani: Ambient Occlusion and Edge Cueing for Enhancing Real Time Molecular Visualization IEEE Transactions on Visualization and Computer Graphics Volume 12 , Issue 5 , Pages 1237-1244 , 2006 , ISSN:1077-2626

[2] Weber JR: ProteinShader: illustrative rendering of macromolecules. BMC Structural Biology 2009, 9:19.

[3] Paul W. K. Rothemund, Folding DNA to create nanoscale shapes and patterns, Nature Vol 440|16 March 2006|doi:10.1038/nature04586, http://www.nanoengineer-1.com

[4] James S. Sims, W. L. George , Terrence J. Griffin , John G. Hagedorn, Howard K. Hung, John T. Kelso, Marc Olano, Adele P. Peskin, Steven G. Satterfield, Judith E. Terrill, Garnett W. Bryant and Jose G. Diaz, Accelerating Scientific Discovery Through Computation and Visualization III. Tight-Binding Wave Functions for Quantum Dots, NIST Journal of Research, 113 (3) , May-June, 2008, pp. 131-142.

[5] James S. Sims, William L. George, Steven G. Satterfield, Howard K. Hung, John G. Hagedorn, Peter M. Ketcham, Terence J. Griffin, Stanley A. Hagstrom, Julien C. Franiatte, Garnett W. Bryant, W. Jaskolski, Nicos S. Martys, Charles E. Bouldin, Vernon Simmons, Olivier P. Nicolas, James A. Warren, Barbara A. am Ende, John E. Koontz, B. James Filla, Vital G. Pourprix, Stefanie R. Copley, Robert B. Bohn, Adele P. Peskin, Yolanda M. Parker and Judith E. Devaney, Accelerating Scientific Discovery Through Computation and Visualization II, NIST Journal of Research, 107 (3) , May-June, 2002, pp. 223-245.

[6] J. S. Sims, J. G. Hagedorn, P. M. Ketcham, S. G. Satterfield, T. J. Griffin, W. L. George, H. A. Fowler, B. A. am Ende, H. K. Hung, R. B. Bohn, J. E. Koontz, N. S. Martys, C. E. Bouldin, J. A. Warren, D. L. Feder, C. W. Clark, B. J. Filla, and J. E. Devaney, Accelerating Scientific Discovery Through Computation and Visualization, J. Res. Natl. Inst. Stand. Technol. 105 (6), 875-894 (2000).

[7]A. Scott Patterson, Hive: A Framework for the Visualization of Nanotechnology Data, http://nanohub.purdue.edu

[8] Judith Light Feather, Visual Simulation Tools: Solutions to Shift the Education Paradigm, The NanoTechnology Group Inc

[9] H.M. Berman, J. Westbrook, Z. Feng, T.N. Gilliland, G.and Bhat, H. Weissig, I.N. Shindyalov, and P.E. Bourne. The protein data bank. Nucleic Acids Res., 28:235242, 2000. http://www.pdb.org.


Комментарии:

Пока комментариев нет. Станьте первым!