WWW.KNIGA.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА - Книги, пособия, учебники, издания, публикации

 

Pages:   || 2 |

«МЕТОДЫ ПАРАЛЛЕЛЬНОЙ ВИЗУАЛИЗАЦИИ НАУЧНЫХ ДАННЫХ Москва – 2011 Оглавление Оглавление Предисловие Лекция 1. Системы визуализации для суперкомпьютеров Лекция 2. Обзор програ ...»

-- [ Страница 1 ] --

Московский государственный университет имени М.В.Ломоносова

На правах рукописи

КОРЖ Оксана Васильевна

МЕТОДЫ ПАРАЛЛЕЛЬНОЙ ВИЗУАЛИЗАЦИИ НАУЧНЫХ ДАННЫХ

Москва – 2011

Оглавление

Оглавление

Предисловие

Лекция 1. Системы визуализации для суперкомпьютеров

Лекция 2. Обзор программных средств визуализации научных данных

Лекция 3. Функциональная схема системы визуализации для массивно-параллельных вычислительных систем

Лекция 4. Организация данных для системы параллельной визуализации

Лекция 5. Методы параллельного построения изображений по распределенным данным............39 Лекция 6. Стратегии параллельной компоновки изображений

Лекция 7. Знакомство со средой VisIt

Лекция 8.

Работа в режиме удаленной визуализации в VisIt

Лекция 9. Построение отображений в VisIt

Лекция 10. Операторы в VisIt

Лекция 11. Интерактивные инструменты для анализа в VisIt

Рекомендуемая литература

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

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

В данной книге рассмотрены некоторые теоретические и практические аспекты реализации универсальных систем визуализации научных данных при проведении вычислительных экспериментов на суперкомпьютерах.

Книга составлена по курсу лекций «Визуализация научных данных на суперкомпьютерах», читаемых для студентов 3-5 курсов факультета Вычислительной математики и кибернетики Московского государственного университета имени М.В.Ломоносова. Курс включает в себя две основные части: теоретические основы параллельной визуализации данных на многопроцессорных вычислительных комплексах и практические лекции по использованию таких систем визуализации на примере системы VisIt.

Автор выражает глубокую признательность своим коллегам Поповой Нине Николаевне, Позднееву Александру Валерьевичу и Андрееву Дмитрию Юрьевичу за помощь в подготовке этой книги.

Лекция 1. Системы визуализации для суперкомпьютеров Визуализацию результатов научных вычислений можно определить как процесс, состоящий из двух шагов: 1) отображение данных вычислительного эксперимента на значения в математической модели пространства визуализации; 2) проекция полученных значений на двумерное пространство, соответствующее визуальному представлению – изображению или видео.

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

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

синтез фотореалистичных изображений, полигональная графика для построения изображений, объемное построение изображений (volume rendering) на большом количестве процессоров. Также интерес представляют работы в области параллельного построения изолиний и изоповерхностей и геометрической оптимизации. Важный класс задач в области научной визуализации – методы организации ввода-вывода при визуализации на МПВС. Активно ведутся исследования в области специализированных систем визуализации для МПВС: методы параллельной визуализации в задачах гидродинамики, методы многопроцессорной визуализации для авиационного моделирования на МПВС, методы визуализации решений дифференциальных уравнений в грид-системах, и т.д.

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

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

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

Получаемый в вычислительных экспериментах объем данных может быть очень большим. Например, при моделировании турбулентного горения на вычислительной системе Blue Gene /P для проекта FLASH с использованием 8000 четырехядерных вычислительных узлов генерируется 16Gb данных каждые 10-15 минут, общий объем данных эксперимента составляет 300Tb [24]. Объем данных, получаемых в задаче климатического моделирования, составляет 345Tb[25]. Объем данных, получаемых в результате проведения экспериментов на системе Blue Gene /P, установленной в МГУ, измеряется сотнями гигабайт [26,27]. Система визуализации результатов научных вычислений на МПВС должна поддерживать возможность работы с данными большого объема.

Как правило, вычислительный эксперимент на МПВС проводится в течение достаточно длительного времени, измеряемым десятками и сотнями часов. Это обуславливает необходимость продержки визуализации во время выполнения параллельной программы (in situ визуализация).

Аппаратная конфигурация современных многопроцессорных вычислительных комплексов включает в себя три основные составляющие:

вычислительные узлы, сервисные (интерфейсные) машины, локальные машины пользователя, к которым подключены дисплейные устройства. В общей схеме организации процесса визуализации результатов научных вычислений, проводимых на МПВС, можно выделить следующие основные этапы, определяемые архитектурой МПВС: накопление данных в процессе вычислений на вычислительных узлах, организация хранения данных на сервисных узлах с последующей передачей на машину пользователя, отображение данных на дисплейных устройствах, подключенных к локальным машинам. Общая схема процесса визуального анализа научных данных представлена на Рис.1. Построение изображений в этом процессе может осуществляться как на вычислительных узлах, так и на локальной машине. Большинство существующих систем визуализации используют клиент-серверную модель. Как было отмечено, научные вычисления, проводимые на МПВС, связаны с необходимостью проведения визуализации на различных этапах вычислительного эксперимента: текущее состояние данных вычислительного эксперимента, история процесса с некоторого момента времени, визуализация сохраненных данных после завершения вычислительного эксперимента.

Рис.1 Схема процесса визуального анализа данных Важным требованием к системе визуализации для МПВС является построение изображений высокого качества с сохранением большого количества деталей. Это требует значительных вычислительных ресурсов для построения изображений. Для поддержки получения высококачественных изображений необходима разработка параллельных методов построения изображений на вычислительных узлах МПВС.

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

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

Важным требованием к системе визуализации является «естественная»

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

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

Следующий возможный сценарий работы системы визуализации – установка системы визуализации на интерфейсной машине (Рис.2б). Этот подход более сложный в реализации, но решает проблему передачи большого объема данных по сети. Построение изображения осуществляется на интерфейсной машине. На локальную машину пользователя передается только изображение или видеопоследовательность, которая имеет существенно меньший размер, чем данные, полученные в результате эксперимента. Во время эксперимента данные записываются в файл в некотором стандартном формате и сохраняются в хранилище. Для визуализации результатов научных расчетов важно иметь возможность визуального анализа в процессе длительного эксперимента. Для этого в системе визуализации должна быть предусмотрена возможность интеграции с процессом научных вычислений. Для систем, устанавливаемых на промежуточное сохранение данных. Это влечет существенную нагрузку на узлы, через которые происходит коммуникация между интерфейсной машиной и вычислительными узлами, что замедляет процесс расчетов.

Разрабатывается ряд решений по встраиванию в МПВС графических серверов (GPU), см. Рис.2в. Этот подход представляется весьма перспективным, но требует существенных материальных затрат на оборудование и разработку сложных программных комплексов. В настоящее время подобные системы функционируют через сохранение файлов, что приводит к недостаткам, которые возникали при визуализации на интерфейсной машине. Однако такой подход дает возможность осуществлять параллельные алгоритмы построения изображений, используя преимущества GPU и наработанные в этой области алгоритмы компьютерной графики, которые позволяют быстро строить высококачественные изображения.

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

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

Лекция 2. Обзор программных средств визуализации научных данных В настоящее время разработано довольно большое количество систем визуализации, предназначенных для различных целей и имеющих различную функциональность. Одной из первых таких систем стала OpenDX. Одной из наиболее известных, свободно распространяемых систем, используемых для поддержки параллельных вычислений, является система VTK и ее параллельные расширения pVTK и ParaView. VTK содержит библиотеку С++ классов и несколько интерфейсов для языков высокого уровня, поддерживает широкий набор алгоритмов визуализации. Библиотека pVTK – это параллельное расширение методов библиотеки VTK. ParaView включает в себя удобный интерфейс, реализацию распределенных вычислений и параллельный сервер для визуализации. Так же в последнее время получила распространение система VisIt. Особенность этой системы состоит в том, что она позволяет эффективно визуализировать данные сложной и нестандартной структуры. Российская разработка – система ScientificVR предоставляет поддержку различных режимов визуализации: визуализация на одном узле данных с нескольких узлов (с возможной предварительной обработкой), визуализация на нескольких узлах с последующей сборкой картинки на одном узле). Рассмотрим эти системы более подробно.

Одной из первых универсальных систем визуализации была Open Data Explorer (OpenDX) [35-37]. OpenDX – это версия с открытым исходным кодом мощного инструмента Visualization Data Explorer производства корпорации IBM. Впервые этот инструмент был выпущен в 1991 году как Visualization Data Explorer, теперь он доступен в открытом исходном коде для выполнения визуализации данных, а также построения на его основе универсальных приложений для визуализации данных.

OpenDX может осуществлять трехмерную визуализацию данных заданных в различных форматах: скалярных, векторных или тензорных.

Также библиотека позволяет строить различные сечения и вращать визуализированный объект так, чтобы была возможность осуществлять просмотр с различных сторон.

Рис. 3 Пример работы системы OpenDX[36] OpenDX обладает множеством уникальных отличительных особенностей, но особого внимания заслуживает его архитектура. В OpenDX используется клиент-серверная модель, в которой клиентские и серверные приложения могут работать на разных узлах. Это позволяет запускать сервер на системах с большой мощностью, предназначенных для решения числовых задач большого объма (например, многопроцессорных системах с совместно используемой памятью), а клиенты могут работать отдельно на более слабых машинах, более приспособленных для отображения графики. OpenDX позволяет разделить проблему между несколькими, возможно, разнородными, серверами, для параллельного решения.

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

Visualization ToolKit Visualization ToolKit (VTK)[38-40] – это свободно распространяемая библиотека C++ классов для построения трехмерной графики и визуализации. Эта библиотека представляет собой объектноориентированный инструментарий для визуализации данных.

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

В графической модели есть девять основных объектов: Render Master, Render Window, Renderer, Light, Camera, Actor, Property, Mapper, Transform.

Графическая модель основана на графе сцены. Этот граф представляет собой ациклический направленный граф, где вершины соответствуют таким объектам как акторы, источники света, камеры, свойства и преобразования.

Процесс трассировки – это последовательный обход всех вершин графа, каждая из которых влияет на итоговое изображение.

Визуализационная модель основана на data-flow парадигме. В такой парадигме модули соединены между собой в одну сеть и осуществляют алгоритмические операции над данными, которые представляют собой потоки в сетях. Преимуществом такого подхода является его гибкость и быстрая адаптация к данным различного типа или новой реализации алгоритма. Визуализационная модель состоит из двух основных типов объектов: обрабатывающих объектов и объектов данных. Обрабатывающие объекты соответствуют алгоритмическим модулям, объекты данных – потоки в сетях. Обрабатывающие объекты в свою очередь подразделяются на источники, фильтры и отображения. Источника инициализируют потоки данных. Фильтры осуществляют заданное преобразование над входными данными. Отображения являются окончанием путей в сети.

(полигональные модели), vtkStructuredPoints (cтруктурированный набор точек), vtkStructuredGrid (структурированная решетка), vtkUnstructuredGrid (неструктурированная решетка), vtkPointSet (неструктурированные точки).

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

На рисунке 4 показаны примеры визуализации:

Рис. 4 Пример визуализации данных с помощью VTK [39] VTK представляет собой эффективный механизм визуализации и трехмерной графики. Библиотека реализована как набор С++ классов.

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

Наиболее распространенными ее расширениями являются параллельные системы ParaView и pVTK.

Библиотека pVTK [41] является параллельным расширением системы VTK. Система pVTK представляет собой расширяемую, переносимую библиотеку, которая инкапсулирует с точки зрения пользователя детали, связанные с параллельной работой. С систему VTK добавлены абстрактные сущности Process и Communication для того, чтобы была возможность осуществить параллелизм по данным, параллелизм на уровне задач, конвейерную обработку.

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

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

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

Для реализации этих требований в системе были реализованы два основных механизма: поддержка мультипроцессорной обработки и поддержка различных типов параллелизма.

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

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

Каждый раз перед исполнением модуль запрашивает обновление для своих данных.

Поддерживаются три типа параллелизма: параллелизм по данным, параллелизм на уровне задач, конвейерная обработка.

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

Рис. 5 Пример визуализации с помощью pVTK [41] Преимуществами данной системы является эффективный механизм синхронизации при обработке распределенных данных. Также важной особенностью является возможность эффективного контроля за исполнением модуля. Однако использование синхронного режима работы затруднительно при работе на большом числе процессоров.

ParaView ParaView [42-46] - это приложение с открытым кодом предназначенное для визуализации двух- и трехмерных наборов данных. Приложение предназначено для работы на системах с различной архитектурой: на многопроцессорных системах с общей памятью. ParaView может параллельно обрабатывать большие объемы данных и осуществлять их сборку в единое целое.

ParaView представляет собой надстройку над системой VTK, из которой она использует алгоритмы визуализации и трассировки. ParaView использует интерфейс, написанный на Tcl. ParaView реализует, так же как это сделано в VTK, концепцию конвейерной визуализации.

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

ParaView состоит из четырех основных компонент: клиентского приложения (client), менеджера серверов (server manager), сервера данных (data server), сервере трассировки (render server). Для коммуникации сервера используют MPI, для общения между сервером и клиентом используются сокеты.

Менеджер серверов осуществляет функции визуализации высокого уровня, осуществляет мультиблочную организацию данных, отображает основные объекты (акторы, свойства, карты, фильтры), контролирует модули трассировки.

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

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

Рис.6 Пример визуализации с использованием ParaView [43,44] Таким образом ParaView представляет собой мощный пакет параллельной визуализации научных данных, который позволяет эффективно работать с различными типами входных данных на различных архитектурах при различных операционных системах. Система предоставляет механизм гибкого перераспределения нагрузки между вычислительными узлами и регулировку количества вычислительных узлов. Так же в систему включен механизм простого добавления пользовательской функциональности.

VisIt[47-49] интерактивной параллельной визуализации и графического анализа для просмотра научных данных. Инструмент предназначен для быстрой визуализации данных, анимации данных по времени, управления визуализированными данными, и сохранении визуализированных данных в различных форматах. VisIt содержит большой набор визуализационных операций, позволяющих просматривать данные в различных представлениях.

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

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

Рис. 7 Пример визуализации с помощью VisIt [47,49] Также библиотека включает в себя различные методы количественного и качественного анализа. VisIt предоставляет визуальную поддержку направленных полей, что позволяет просчитывать новые поля по уже имеющимся. Так есть возможность построения различных срезов.

Предоставлен удобный графический интерфейс. VisIt поддерживает работу на параллельных и распределенных архитектурах для реализации поддержки визуализации очень больших вычислений. Режим engine позволяет осуществлять визуализацию без отображения на экран, что делает возможным работу на удаленной машине. Так же VisIt поддерживает C++, Python и Java интерфейсы. В основе архитектуры библиотеки лежит клиент серверная модель, в которой на сервере осуществляется параллельная работа.

Клиент-серверная модель позволяет эффективно работать удаленно, а параллельная работа на сервере делает возможными обработку данных большого объема.

ScientificVR ScientificVR (SVR) [51-52] - программный пакет для визуализации результатов численного моделирования сложных физико-химических процессов, а также трехмерных распределений величин, полученных другим путем, например, в результате томографических обследований. Пакет имеет гибкую плагин-архитектуру, и его возможности легко могут быть расширены путем разработки соответствующих плагинов.

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

ScientificVR позволяет сохранять изображения в наиболее распространенных графических форматах: Windows Bitmap (BMP), Portable Network Graphics (PNG), Tag Image File Format (TIFF), Joint Photographic Experts Group File Interchange format (JPEG), Encapsulated Postscript format (EPS).

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

Рис. 8 Пример визуализации с использованием системы Scientific VR[51] Данная система является коммерческой, поэтому расширение и дополнение осуществляется только в рамках технической поддержки компанией-производителем. В системе предпринята попытка реализации стерео представления данных – реализована возможность представления изображения в формате анаглифа. Однако возможно существенное развитие предложенного подхода – реализация для автостереоскопических дисплеев и для волюметрических дисплеев.

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

Кроме модулей визуализации AVS включает в себя модули обработки изображений, модули работы с GIS данными, модули доступа к различным базам данных.

AVS поддерживает следующие типы данных: численные данные, однородные, прямолинейные и неоднородные решетки, unstructured cell data, данные в формате геометрических объектов.

AVS также предоставляет версию для параллельных вычислений – AVS/Express Parallel Edition, которая позволяет визуализировать данные на системах с общей памятью и кластерных вычислителях.

Рис. 9 Пример визуализации с помощью системы AVS[55] Сравнение систем визуализации Рассмотренные системы визуализации обладают широким набором многопроцессорных системах. Все эти системы относятся к так называемым универсальным системам визуализации, т.е. осуществляют обработку данных произвольной научной задачи, представленных в некотором стандартном формате. Представленные система визуализации реализуют различные парадигмы для параллельных вычислений. Некоторые из представленных системы поддерживают визуализацию данных большого объема, для этого в них введены специальные механизмы, позволяющие контролировать распределение данных по вычислительным узлам, синхронизировать вычисления. Часть систем позволяет осуществлять так называемую on-line визуализацию, т.е. визуализацию, совмещенную со счетом. Но большинство система поддерживает только пост обработку данных, т.е. когда данные после счета собраны в некотором хранилище, и далее проводится их распределение по вычислительным узлам, осуществляющим трассировку, и после трассировки – сбор получившегося результата и передача его на машину пользователя.

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

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

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

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

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

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

визуализации показана на Рис.10. Рассмотрена иерархическая архитектура, состоящая из трех основных подсистем:

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

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

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

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

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

Третий – интеграция программы счета и визуализации через обмен файлами.

Рассмотрим каждый из этих режимов более подробно.

Метод работы системы визуализации в режиме постобработки Сценарий работы системы визуализации в режиме постобработки означает независимую работу алгоритмов визуализации от программы счета.

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

Функциональная схема работы системы в режиме постобработки показана на Рис.11.

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

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

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

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

Функциональная схема взаимодействия компонент в этом режиме представлена на Рис.12.

Локальная машина Рис. 12 Функциональная схема работы системы в in situ режиме через встроенную визуализацию В этом режиме работы осуществляется встроенная в программу счета визуализации. В этом случае пользователь вставляет в свою программу вызовы процедур визуализации. Параметры визуализации могут быть при этом заданы заранее через файл или генерироваться в процессе выполнения осуществляется постобработка видео и сжатие видеопотока. После передачи на локальную машину пользователя осуществляется декодирование и увеличение разрешения видеопоследовательности. Затем подготовленный видео файл может быть отображен на выбранном типе дисплейного устройства.

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

Метод визуализации в процессе выполнения параллельной программы через файлы Наиболее востребованный режим осуществления интеграции счетной программы и визуализации – взаимодействие через промежуточные файлы.

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

При этом при запуске счетной программы запускается инициализация визуализации, через которую передаются параметры визуализации и пути к промежуточным файлам.

Функциональная схема работы системы визуализации в режиме совмещения со счетом через файлы показана на Рис. 13.

При запуске in situ визуализации через файлы на первом шаге проводится инициализация параметров визуализации. В частности задаются пути к промежуточным файлам, через которые осуществляется взаимодействие считающей программы и программы визуализации. На интерфейсной машине при этом запускается задача, которая контролирует состояние файлов для обмена. Если при инициализации был включен режим сохранения истории, то при каждом обновлении файла будет осуществляться сохранение нового кадра в видео последовательность, представляющую собой историю эксперимента. В этом случае пользователь может запросить в любой момент показать историю процесса. Или запросить текущее состояние эксперимента. В этом случае будет построено изображение по текущему состоянию файла. Построение изображения может осуществляться также в двух режимах – как на основной машине, так и на интерфейсной, если основная машина загружена. После построения изображений осуществляется постобработка визуализированного ряда с целью улучшения качества визуального восприятия. Затем осуществляется кодирование построенной видеопоследовательности для передачи ее на локальный терминал для отображения. На локальной машине осуществляется декодирование и увеличение разрешения видео последовательности.

Инициализация визуализации Рис. 13 Функциональная схема работы системы в in situ режиме через файлы Особенность рассмотренного подхода состоит в том, что в режиме сохранения промежуточных файлов для визуализации в большинстве случаев нет необходимости перекомпилировать считающую программу. Также возможно применение in situ визуализации для считающих программ с закрытым кодом, для которых у пользователя нет возможности интегрировать функциональные вызовы из библиотеки визуализации.

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

Стандартные форматы для научных данных:

Рис.14 Схема преобразования данных в процессе визуализации определение, какие данные система получает на входе и что она производит на выходе. Соответственно также необходимо определить, в каком визуализации. Процесс преобразования данных в системе визуализации и основные состояния потока данных представлены на Рис.14.

Сохранение результатов научных вычислений в большинстве случаев осуществляется одним из двух путей: сохранение в один из стандартных форматов файлов для научных данных или сохранение «как есть» - в файл записываются значения (часто это значении двумерных или трехмерных массивов) подряд с выбранным порядком следования индексов. Для универсальных систем визуализации в различных режимах работы могут быть использованы различные входные форматы данных. В таблице приведены основные форматы данных, для которые часто используются в различных системах взуалиации.

Таблица 1. Входные форматы данных для системы визуализация Расширение Описание формата библиотеки VTK (неструктурированные решетки) ex, exo разработан Sandia National Laboratory) cube Plot3D (формат для хранения трехмерных массивов) silo способный хранить множество различных данных, в т.ч. векторные и скалярные поля, структурированные nc, cdf Network Common Data Form (NetCDF, HDF структурированные форматы для различных видов dbf, shp, shx Для перечисленных форматов данных используются процедуры преобразования в набор объектов внутреннего представления системы визуализации. Используется следующий принцип. Для большинства научных расчетов получаемые данные – это изменение некоторых характеристик процесса по времени. Поэтому представляется логичным интерпретировать данные как значения вокселей в некотором объеме. Обычно используется метод унифицированного представления научных данных как объемов в пространстве в форме параллелепипеда, где значения данных заполняют значения вокселей. Сцена, характеризующая процесс, состоит из нескольких таких объемов. Для каждого объема задается его размерность, положение в пространстве, цветовая схема для интерпретации значений и другие характеристики. Сцена включает в себя список объектов и их характеристики. Такой подход позволяет достичь важного преимущества. На одном кадре в этом случае могут быть построены неоднородные характеристики процесса. Этот эффект достигается за счет перехода от физических характеристик процесса к их математическому представлению в виде значений на регулярных и нерегулярных сетках. Далее входные данные интерпретируются как набор дискретных значений, для которых осуществляется построение изображений. В отдельных случаях представляется оптимальным добавление в сцену не только объемов, но и объектов OpenGL графики. Для визуализации молекулярной динамики используется метод перевода данных о структуре молекул из файла в формате.cube в набор сфер и цилиндров. Это позволяет сократить время построения изображения.

Рассмотрим принцип преобразования входных данных на примере преобразования файла в формате.cube.

Листинг 1. Пример входного файла в формате.cube (1) DENSITY: cube file created from...

(2) Total SCF Density (10) 0.16612E-08 0.14473E-08 0.11730E-08 0.13395E- 08 0.15606E-08 0.10507E- В соответствии со структурой файла рассчитывается количество и положение объектов в сцене. По файлу этого формата в цену включается один объем со значением плотности и сферы в количестве равном количеству атомов в молекуле (первое число строки (3), в данном случае 12). Размер и разрешение объема задается по значениям в строках (4)-(6). Каждая из строк (7)-…-(8) содержит информацию о типе и положении атома, по которым определяется размер и положении сферы-атома, а также положение и количество цилиндров, которые необходимо включить в сцену для отображения связей между атомами. Строки (9)-(10)-(11)-… задают значения электронных плотностей в пространстве в соответствии с выбранной решеткой. Если кроме электронной плотности необходимо отобразить дополнительные характеристики, например, значение плотности на какомнибудь срезе, то в сцену добавляется еще один объем, заполненный соответствующими значениями.

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

Основные форматы представления выходной информации:

Формат для обычного двумерного дисплея Представление текстура+глубина Стерео в формате в формате R-фрейм/L-фрейм Стерео в формате side-by-side Стерео в формате top-bottom Стерео в формате chess-board Мультивидовый формат Формат для мультидисплеев (решетки дисплеев) Формат для CAVE (трехмерных проекционных камер) Таким образом, в системе визуализации используется два преобразования данных: 1) данные из входного файла преобразуется во внутреннее представление системы визуализации; 2) по внутреннему представлению строиться визуальное представление данных в формате изображения или видео последовательности.

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

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

Будем полагать, что окружающие объекты обладают по отношению к свету следующими свойствами:

Каждое из этих свойств можно описать набором характеристик.

Например, излучение можно охарактеризовать интенсивностью, направленностью, спектром.

В методе обратной трассировки лучи света рассчитываются и трассируются в обратном направлении. Через каждый пиксель экрана в направлении от наблюдателя проводится луч и трассируется до пересечения с объектом сцены. Далее рассчитывается отраженный луч (в направлении на источник света), чтобы учесть световую энергию, которая может быть принесена в направлении наблюдателя. Отраженный луч анализируется аналогично.

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

Если объект зеркальный (хотя бы частично), испускается отраженный луч и трассируется рекурсивно. Результат трассировки отраженного луча учитывается при определении цвета пикселя пропорционально коэффициенту отражения.

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

Обзор методов параллельного построения изображений Суть задачи получения графического изображения – вычисление воздействия каждого примитива на каждый пиксель. В результате примитивы могут попасть на экран или нет. Следовательно, построение изображения может рассматриваться как проблема сортировки примитивов.

Таким образом, предлагается классификация по тому, в каком месте параллельного графического конвейера происходят сортировки. Во время геометрической обработки – “sort-first” сортировки выполняются вначале, в естественной точке разрыва конвейера – “sort-middle” в середине, во время растеризации – “sort-last” в конце. Выбор каждого из этих классов приводит к разным параллельным алгоритмам рендеринга с различными свойствами.

Sort-first Целью этого подхода является распределение примитивов на самом раннем этапе графического конвейера – во время геометрической обработки.

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

Алгоритм состоит из следующих шагов (Рис.15):

произвольным образом.

Каждый узел вычисляет области экрана, куда попадают соответствующие ему объекты.

Происходит перераспределение данных на нужные процессоры.

Выполняется геометрическая обработка и растеризация.

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

К недостаткам можно отнести чувствительность к неравномерно распределенным данным и сложность реализации.

Рис.15. Алгоритм “sort-first” Sort-middle В “sort-middle” алгоритмах объекты перераспределяются в середине графического конвейера, то есть между геометрической обработкой и растеризацией. Таким образом, перед перераспределением объекты переведены в экранные координаты и готовы к растеризации.

Геометрическая обработка и растеризация обычно выполняются на разных процессорах. Геометрические процессоры производят необходимые вычисления с объектами, после чего классифицируют их по расположению на экране. Плоские объекты распределяются соответствующим образом между процессорами, где происходит их дальнейшая обработка. (Рис.16) Данный алгоритм считается основным, потому что перераспределение данных происходит в естественном месте графического конвейера.

Однако такой подход имеет и существенные недостатки:

• необходимость передачи большого объема данных между процессорами;

• отсутствие уравновешивания нагрузки на вычислительные узлы при неравномерно распределенных данных.

Рис.16. Алгоритм “sort-middle” Sort-last “Sort-last” алгоритм произвольным образом распределяет объекты между всеми вычислительными узлами. Каждый узел строит растровое изображение своего подмножества объектов независимо от того, в какой области экрана они будут расположены. Полученное изображение пересылается на специальный процессор, который совмещает все частично отрисованные кадры в один. (Рис.17) Последний шаг алгоритма является очень трудоемким, т.к. требует обработки огромных пиксельных данных.

Рис.17. Алгоритм “sort-last” Существует два различных метода реализации последнего шага алгоритма:

Передавать только ту часть изображения, которая участвовала в растеризации (SL-sparce). Этот подход направлен на минимизацию коммуникационных затрат.

Передавать изображение целиком (SL-full). Преимущество данного подхода состоит в том, что совмещение регулярных данных может быть легко реализовано на аппаратном уровне.

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

Рациональность может достигаться путем использования нерегулярной (неструктурированной) решетки. Регулярной называется решетка, каждую ячейку (примитив) которой можно адресовать алгебраическим путем.

Нерегулярная (неструктурированная) же решетка представляет собой неориентированный граф, заданный, в общем случае, списком ребер. В случае использования последней не составляет труда добавить в сетку, например, еще один узел в некоторую ее часть без увеличения разрешения остальной части решетки. В результате данное представление получается достаточно гибким и в тоже время емким.

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

Существует два основных подхода к генерации неструктурированных решеток:

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

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

Триангуляция Делоне обладает следующими важными свойствами:

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

Существует множество решений, реализующих представление области, ограниченной решеткой поверхности, на тетраэдры. Одним из них является свободная библиотека TetGen.

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

Лекция 6. Стратегии параллельной компоновки изображений Метод объемного построения изображений (volume rendering) – это наиболее распространенный подход к визуализации трехмерных данных большого объема, которые получаются в результате крупномасштабного моделирования на суперкомпьютерах. Вычислительные эксперименты такого рода имеют ряд существенных особенностей. Основная особенность – это специализированных методов по организации хранения и ввода-вывода данных. Следующей особенностью является распределенное хранение результатов вычислений. При этом число процессоров, на которых проводится эксперимент, может исчисляться десятками тысяч, и в будущем прогнозируется существенный рост этого показателя. Распределенное хранение данных, которые требуется визуализировать, порождает еще одну особенность параллельной визуализации – существенное время, которое требуется на коммуникации между процессорами в процессе построения изображений. Ввиду этих особенностей реализация параллельного построения изображений в реальном времени для крупномасштабных вычислительных экспериментов сейчас является научной проблемой, которая требует разработки новых методов и подходов к такого рода визуализации.

В данной лекции будут рассмотрены только алгоритмы, относящиеся к классу sort-last, в которых каждый процессор визуализирует свою часть данных, и далее осуществляется только обмен изображениями для построения итогового изображения. Алгоритмы класса sort-last включают в себя два шага: шаг построения изображения (image rendering) и шаг компоновки изображения (image compositing). На первом шаге каждый процессор строит свою часть изображения по части данных, которая была получена на нем при вычислениях. Затем на втором шаге из полученных изображений формируется итоговая картинка. В данной лекции детально проанализированы стратегии, применяемые на шаге компоновки изображения для уменьшения времени работы и объема пересылаемых данных.

Самый тривиальный для реализации подход – пересылка всех данных на один процессор. Такой метод условно называется последовательным.

Однако этот метод весьма затратный по вычислениям и времени выполнения, а также может быть легко оптимизирован и упрощен, поэтому в реальности не применяется. В терминах MPI проблема компоновки изображения эквивалентна решению reduce-scatter проблемы. Первой оптимизацией является использование топологии виртуального дерева (virtual tree) для пересылки, что позволяет сократить общее время пересылки данных.

Следующим этапом развития алгоритмов компоновки можно назвать появление метода бинарных обменов (binary swap). Идея алгоритма заключается в пересылке не целого изображения, а только его части.

Недостатком такого алгоритма являлось то, что количество процессоров должно было быть степенью 2. Эта проблема была решена, когда был предложен алгоритм на основе 2-3 обменов. Еще одним принципиальным подходом к организации обменов стал сценарий параллельного конвейера (parallel pipelined). Далее была предложена существенная модификация конвейерного алгоритма, названная циклическим разделением (rotate tiling), которая перенаправляет обмены, сокращая количество пересылок.

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

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

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

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

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

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

изображений Рассмотрим основные параметры, которые необходимо использовать при оценке сложности методов параллельного построения изображений.

Пусть итоговое изображение, которое необходимо построить, имеет размер XxY пикселей. Соответственно площадь этого изображения S пикселей (S=X*Y). N - количество процессоров, используемых для построения изображения. Bвх и Bисх – количество пикселей, которое может быть получено/отправлено процессоров в секунду (пропускная способность).

Пусть Bвх = Bисх = B. Путь мультидисплейный комплекс состоит из решетки pxq дисплеев. Общее количество дисплеев – M=p*q. Пусть выполнено условие MN.

Рассмотрим оценки для последовательного метода, метода бинарных обменов, метода параллельного конвейера, метода циклического разделения.

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

Оценки сложности для последовательного метода Суть последовательного метода состоит в том, что все данные передаются на один процессор, далее с него распределяются по процессорам, к которым подключены дисплеи. Сценарий работы для этого метода для случая N=4, p=1, q=2 проиллюстрирован на Рис.18а. Общий объем передаваемых данных (в пикселях): VSS=S*(N-1)+S =S*N. Поскольку все выполняется последовательно, по время на пересылку вычисляется по формуле: TSS= S*N/B.

Рис. 18. Схемы обменов при разных стратегиях пересылки для случая N=4, p=1, q=2. a) последовательный метод; b) метод бинарных обменов; c) метод параллельного конвейера; d) метод циклического разделения.

Оценки сложности для метода бинарных обменов и конвейерного метода Метод бинарных обменов для случая N=4, p=1, q=2 проиллюстрирован на Рис.18b. На первом шаге алгоритма процессоры обмениваются S/ пикселями изображения, на следующем шаге S/4 и т.д. Количество итераций в этом случае log2N. Объем данных, который последовательно передается на i-й итерации, составляет: Vi=S/2i. Время на i-ой итерации составляет Ti= S/(B*2i). Таким образом суммарное время на сборку и объем передаваемых последовательно данных можно вычислить следующим образом:

После выполнения алгоритма на каждом процессоре получится S/N пикселей итогового изображения. Поскольку сборка на М процессоров для отображения на дисплеи осуществляется последовательным образом, то количество данных, которое необходимо последовательно передать, можно посчитать как количество данных, которое придет на каждый из М процессоров. Таким образом, V2=S/M; T2=S/(B*M). В итоге получаем, что время, которое тратится на построения изображения в формате для мультидисплеев с помощью метода бинарных обменов:

B N BM B N M

Объем передаваемых данных:

Идея конвейерного метода состоит в том, что на каждой итерации процессор передает и получает S/N пикселей изображения. При этом последовательная сборка на M Процессоров. С учетом оценок полученных в работе [89] получаем, что оценка времени работы и объема передаваемых данных с учетом мультидисплейности совпадает с показателями для метода бинарных обменов. Работа метода проиллюстрирована на Рис.18с.

Оценки сложности для метода циклического разделения Верхние оценки времени работы алгоритма и объема передаваемых данных получены авторами метода в работе [89]. Используя эти оценки для случая мультидисплейности получаем:

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

Метод гибридной сборки с учетом мультидисплейности Описание гибридной стратегии сборки для мультидисплейного комплекса Стратегия гибридной сборки представляет собой объединение шагов компоновки изображения и распределения итогового изображения по процессорам для отображения на мультидисплейном комплексе. Возможно применение различных алгоритмов компоновки изображения при таком подходе. Однако различные стратегии будут давать различный результат при исполнении программы на различных параллельных архитектурах. Это связано с тем, что аппаратно не обеспечивается одинаковая скорость при коммуникации между различными процессорами. Для эффективной реализации параллельной компоновки изображения и его распределения возможно использование коллективных операций MPI, в частности операции reduce.

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

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

Рис.19 Схема компоновки изображения для мультидисплейного комплекса с использованием MPI-операции reduce.

Теоретически выполнение операции reduce на каждой конкретной параллельной архитектуре будет выполняться быстрее, чем произвольный алгоритм компоновки изображения, т.к. разработчики аппаратного и системного программного обеспечения реализуют базовые функции MPI максимально эффективно для своей архитектуры. В частности, например, на суперкомпьютере Blue Gene/P используется специальная коммуникационная сеть для выполнения коллективных операций, что позволяет получить существенных выигрыш по времени выполнения по сравнению с самостоятельно реализованными алгоритмами обменов, использующих коммуникации точка-точка. Поэтому получение теоретической оценки ожидаемого времени выполнения затруднительно, т.к. требует детального знания архитектуры конкретной параллельной системы и особенностей реализации операций MPI. Однако эти оценки могут быть получены экспериментально.

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

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

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

Требуется предложить способ разбиения данных между процессорами, при котором возможно будет использовать сжатие, при этом будет сохранена равномерная загруженность процессоров и в итоге получится изображение для мультидисплейного комплекса. Для выполнения этой задачи предполагается следующий подход. Предлагается выполнять операцию reduce не для части данных, которые относятся к одному дисплею, а по полосе данных, которая включает в себя данные для q дисплеев в ряду. При таком способе получается более равномерное распределение значащих пикселей. Далее полученное сжатое изображение пересылается на q процессоров с помощью MPI операции scatter.

Лекция 7. Знакомство со средой VisIt Установка на локальную машину Для начала работы с VisIt необходимо установить программу на последовательность действий.

1. Откройте в браузере страничку http://wci.llnl.gov/codes/visit/executables.html платформы и нажмите кнопку Download.

3. Запустите скачанный файл и следуйте инструкциям.

Рекомендуется устанавливать самый свежий релиз. Примеры в данном пособии приведены для версии VisIt 2.3.2.

Александром Валерьевичем Позднеевым. Данные можно скачать по ссылке:

http://angel.cs.msu.su/~oxana/book_viz_examples/ Работа с файлами Для начала работы в система VisIt необходимо запустить приложение.

Далее необходимо выбрать файлы для работы. Рассмотрим основные возможности, которые предоставляет система VisIt для работы с файлами.

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

1. Откройте Окно выбора файла, кликнув Open files… (Открыть файлы) в меню File(Файл) главного окна VisIt.

2. Наберите папку установки, где лежат данные в поле Path (Путь) и нажмите клавишу Enter. В панели Files(Файлы) Окна выбора файла должно появиться много файлов.

4. Наберите *.silo в поле Filter (Фильтр) и нажмите клавишу Enter. Это отфильтрует файлы, которые имеют тип отличный от.silo из списка доступных файлов.

открываемую базу данных.

6. Нажмите кнопку OK, чтобы подтвердить новый список выбранных файлов и закрыть окно. Теперь список выбранных файлов в Файловой панели Главного окна должен содержать несколько файлов, имена которых начинаются с “0”.

Рис. 20 Работа с файлами в системе VisIt Открытие файла Теперь список выбранных файлов содержит несколько файлов, имена которых начинаются с “0”. Теперь можно приступить к открытию файлов.

1. Выберете значение “off”(выключить) поле File grouping (Групировка файлов).

2. Нажмите на 0050.silo в списке Files (Файлы).

3. Нажмите кнопку Ok (Ок) для открытия файла.

Рис.21 Открытие файла в системе VisIt 4. Заметьте, что меню Plot (Построения) стало активным, как только мы открыли базу данных или файл.

5. Выберите пункт Add (Добавить) из меню Plot (Построения и Вы увидите, что для большинства типов построений есть подходящие переменные. Когда в базе данных есть переменная, подходящая для какого-то типа построения, соответствующий пункт меня становится доступным.

6. Откройте окно File information (Информация о файле), выбрав пункт File information (Информация о файле)… из меню File (Файл).

Окно File information (Информация о файле) отображает информацию об открытом файле, например имена переменных, содержащихся в нем, количество шагов и т.п.

7. Нажмите кнопку Dismiss (Закрыть) окна File information (Информация о файле).

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

1. Выберите пункт Add (Добавить) из меню Plot (Построения).

2. Подведите курсор к пункту Contour (Контур). Должно появиться небольшое подменю со списком доступных переменных из открытого файла, которые можно использовать для данного построения.

3. Выберите пункт y из подменю, чтобы сделать построение типа Contour (Контур) по переменной y. Заметьте, что в Списке построений появился элемент Contour - y.

4. Нажмите кнопку Draw (Рисовать) в меню Plot (Построения), чтобы VisIt построил график в окне визуализации.

5. Нажмите кнопку Delete (Удалить), чтобы удалить построение из списка.

Рис.24 Пример построения графика по заданным данным Работа с временными последовательностями Некоторые форматы файлов поддерживают хранение данных, относящихся к разным моментам времени, но большая часть такой возможности лишена. Кнопки управления анимацией в главном окне VisIt становятся доступны только при наличии в файле нескольких временных шагов. Если у вас есть набор файлов, каждый из которых является временным шагом некоторого набора данных, меняющегося во времени, вам нужно дать понять VisIt'у, что эти файлы – часть большей базы данных. VisIt поддерживает файлы с расширением.visit, которые хранят информацию о таких наборах. Также автоматически можно собирать файлы одного типа и последовательными номерами в названии в базу данных.

1. Откройте Окно выбора файла, кликнув Select files (Выбрать файлы)… в меню File(Файл) главного окна VisIt.

2. Наберите: *.silo в поле Filter (Фильтр) чтобы отображались только файлы с расширением.silo.

3. Выберете в правом окне бвзу данных *.silo database.

4. Нажмите кнопку OK, чтобы подтвердить новый список выбранных файлов и закрыть окно.

5. Стало активным меню Time (время).

6. Выберите пункт Add (Добавить) из меню Plot (Построения).

7. Подведите курсор к пункту Contour (Контур).

8. Выберите пункт y из подменю, чтобы сделать построение типа Contour (Контур) по переменной y. Списке построений появился элемент Contour - y.

9. Нажмите кнопку Draw (Рисовать) в меню Plot (Построения), чтобы VisIt построил график в окне визуализации.

10. Нажмите кнопку Проигрывания в меню Time (время). В окне отображения начнется отображение видеоряда, соответствующего заданной последовательности файлов.

11. Нажмите кнопку Остановки в меню Time (время).

Рис.25 Управление анимацией в VisIt Автоматическая группировка файлов В некоторых случаях использование файлов.visit необходимо, но часто вместо этого вы можете дать VisIt'у угадать, как соотносятся наборы файлов между собой. VisIt обладает возможностью Автоматической группировки файлов, которая заставляет сервер баз данных сканировать список имен файлов и передавать их VisIt'у как единую базу данных, называемую виртуальной.

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

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

1. Откройте Окно выбора файла, кликнув Open files (Открыть файлы)… в меню File (Файл) главного окна VisIt.

2. Наберите: *.silo в поле Filter (Фильтр) и нажмите клавишу Enter, чтобы активировать новый фильтр. Единственным элементом в списке Files (Файлы) должна быть виртуальная база данных с именем *.silo database и под ней должно быть несколько десятков имен файлов, составляющих ее содержимое.

3. Выберите опцию Off (Отключено) из выпадающего списка File grouping (Группировка файлов) чтобы отключить автоматическую группировку файлов. База данных *.silo database пропала, и ее место теперь занимаю отдельные файлы.

4. Мы обычно всегда предполагаем, что функция автоматической группировки включена, так что активируйте ее снова, выбрав Smart (Умный) или On (Включено) из списка File grouping (Группировка файлов).

Рис. 26 Группировка файлов в VisIt Окна визуализации С системе VisIt возможна работа в различных режимах визуализации.

Рассмотрим основные из них.

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

1. Добавьте *.silo database с локальной машины в список выбранных файлов и затем откройте его.

2. Добавьте график Contour (Контур) по переменной y.

3. Нажмите кнопку Draw (Рисовать).

4. Выберите опцию View (Перспектива) из подменю Lock (Связать) меню Windows (Окна) Главного окна. Теперь точка обзора во синхронизироваться, то есть, когда вы приблизите, удалите, повернете камеру и т.п., такие же изменения произойдут во всех связанных окнах.

5. Выберите опцию Time (Время) из подменю Lock (Связать) меню Windows (Окна) Главного окна. Теперь активное состояние времени будет синхронизироваться.

6. Выберите пункт Clone (Клонировать) из меню Windows (Окна). Опция Clone (Клонировать) делает копию активного окна визуализации вместе со всеми его графиками, перспективой и т.д.

Новое окно после этого станет активным. Нужно нажать кнопку Draw (Рисовать), чтобы перерисовать графики во втором окне.

7. Сделайте активным первое окно, нажав кнопку Make window (Сделать окно активным) на его панели инструментов.

active Медленно ведите указатель мыши по кнопкам панели, и под курсором будут появляться подсказки.

8. Выберите пункт 1x2 из подменю Layout (Расположение) меню Windows (Окна) Главного окна. Это изменит размер окон так, чтобы они смогли поместиться рядом.

9. Поверните график в первом окне визуализации. График во втором окне будет перерисован, чтобы соответствовать перспективе графика в первом окне.

Рис. 27 Пример синхронной работы двух окон в VisIt 10. Сдвиньте Ползунок анимации в Главном окне до такта 0030.

График во втором окне также будет переведен во временное состояние 11. Сделайте активным окно 2, выбрав 2 его из выпадающего списка Active window (Активное окно) в меню Global (Общий) в Главном окне. Теперь все изменения графиков будут производиться для второго окна.

12. Передвиньте Ползунок анимации до такта 0050. График в окне 1 теперь тоже соответствует этому такту.

13. Поверните и немного приблизьте камеру с помощью колеса мыши в окне 2. График в первом окне будет перерисован, чтобы синхронизировать изменения.

14. Удалите окно 2, нажав на крестик в правом верхнем углу.

VisIt сделает окно 1 активным.

Управление перспективой У VisIt'а есть несколько особенностей. Первая возможность, которую вы научитесь использовать это Save view (Сохранить перспективу).

Сохранение перспективы позволяет сохранить текущую перспективу и с помощью специальной кнопки на панели инструментов восстановить ее позднее. Вы можете сохранить до 16 перспектив и переключаться между ними одним нажатием мыши. Также возможно сохранение этих перспектив в конфигурации VisIt’а, для использования при последующих запусках программы. Второй возможностью является Undo view (Откат перспективы).

Откат перспективы позволяет вам вернуться к предыдущей перспективе, если вы сделали ошибку. Вы можете отменить до 16 изменений.

1. Используйте графики из предыдущего упражнения.

2. Найдите и нажмите кнопку Save view (Сохранить перспективу) на панели инструментов View (Обзор). Вы также можете выбрать пункт меню Save view (Сохранить перспективу) из всплывающего меню View (Обзор), которое появляется при нажатии правой кнопку мыши в окне визуализации.

3. Как только вы нажали кнопку Save view (Сохранить перспективу), на панели инструментов и во всплывающем меню появится новая кнопка 1. При нажатии на нее текущая перспектива сменится на ту, что была сохранена.

5. Снова нажмите Save view (Сохранить перспективу). Это создаст новую кнопку с надписью 2.

6. Приблизьте камеру на графике Contour (Контур).

7. Опять нажмите Save view (Сохранить перспективу). Это создаст новую кнопку с надписью 3.

11. Еще немного приблизьте камеру. Давайте представим, что это вышло случайно. Если вы хотите отменить последнее изменение, нажмите Undo view (Откатить перспективу) на панели инструментов или из всплывающего меню.

12. Удалите график Contour (Контур).

Рис. 28 Пример рассинхронизации работы окон Управление перспективой в двух измерениях Окна визуализации имеют несколько режимов. По умолчанию это режим навигации, в котором вы можете поворачивать и перемещать графики, чтобы добиться лучшего обзора. Еще важным режимом является режим увеличения. Когда окно находится в режиме увеличения, вы можете нажать внутри окна и выделить прямоугольную область, в которой вы хотите увеличить изображение.

1. Откройте 0050.silo на вашем компьютере.



Pages:   || 2 |
 
Похожие работы:

«РОССИЯ январь 2013 Мы улучшаем жизнь женщин во всем мире Новый Национальный Лидер Ольга гасталь К каждому мастер-классу готовлюсь, как в первый раз до юбилея компании осталось 8 МесЯцев! График важных дел на январь 1 6 10 13 воскресенье воскресенье вторник четверг Последний день оплаты участия в Ассамблее ВедуВстречаю Новый год Составляю план по Оплачиваю участие щих Лидеров и Ассамблее с Мэри Кэй привлечению новичков в Конференции Лидеров Национальных Лидеров 15 17 вторник четверг пятница...»

«TM TrusCont DVD Protection Toolkit Версия 3.0 Руководство пользователя Октябрь 2010 © 2006-2010 TrusCont Ltd. Перевод © 2010 ProtectMedia Руководство пользователя TrusCont DVD Protection Toolkit V3.0 1. Введение 1.1 Главные особенности 1.2 Что нового в версии 3.0 1.3 Термины и Определения 2. Поведение Защищенного Контента 2.1 Защита Исполняемых файлов 2.2 Защита контентных файлов 2.2.1 Совместимость с Операционными системами при Выполнении Защищенных Контентных Файлов 2.3 Защита Программного...»

«Иванов Г. В. Петербургские зимы // Иванов Г. В. Собр. соч.: В 3 т. — М., 1993. — Т. 3. Маквей Г. Русские писатели о Сергее Есенине // Памятники культуры: Новые открытия. — М., 2003. Ходасевич В. Ф. Есенин // Ходасевич В. Ф. Некрополь: воспоминания. — М., 1991. Михаил Александрович Шолохов (6 ч) Донские рассказы У р о к 44. В годину смуты и разврата: от Донских рассказов к Тихому Дону I. Чтение учителем отрывка из статьи В. О. Осипова Писатель и власть. В 25 лет с небольшим осмелился молодой...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ имени академика С.П. КОРОЛЕВА (НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ) Основная профессиональная образовательная программа послевузовского профессионального образования (аспирантура) 05.07.05 Тепловые, электроракетные двигатели, и энергоустановки летательных аппаратов ОБРАЗОВАТЕЛЬНЫЙ...»

«УДК 563.67 + 551.73 (571.1) Г.Д. Исаев РЕГИОНАЛЬНЫЕ СТРАТИГРАФИЧЕСКИЕ ПОДРАЗДЕЛЕНИЯ ПАЛЕОЗОЯ ЗАПАДНО-СИБИРСКОЙ ПЛИТЫ (ПО ДАННЫМ ИССЛЕДОВАНИЯ ТАБУЛЯТОМОРФНЫХ КОРАЛЛОВ) Охарактеризованы региональные стратиграфические подразделения палеозоя Западно-Сибирской плиты. Обоснован их биостратиграфический объем, объем перерывов на границах подразделений, определен их статус. Проведены корреляция региональных подразделений в пределах Западно-Сибирской плиты и сопоставление со стратонами смежных регионов....»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Амурский государственный университет Утверждаю Зав. каф. русского языка Е.А. Оглезнева _ _2012 Кафедра русского языка УЧЕБНО – МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ НАУЧНАЯ ОРГАНИЗАЦИЯ ТРУДА Основной образовательной программы по направлению подготовки 031600. 62 Реклама и связи общественностью Благовещенск УМКД разработан канд. филол. наук,...»

«R НИ Ц СтаДиО Научно-исследовательский центр СтаДиО StaDyO Ltd. Инв.№ _ “Утверждаю” Генеральный директор НИЦ СтаДиО А.М.Белостоцкий “_” _2006г Семейство программных комплексов АСТРА-НОВА’2005 (версия от 20.06.2006) Автоматизированное проектирование и расчеты трубопроводных систем на статическую и циклическую прочность, на сейсмические воздействия, вибропрочность и неустановившиеся динамические процессы в соответствии с российскими нормативными требованиями Сеанс работы с комплексом Руководитель...»

«СОДЕРЖАНИЕ Стр. 1. ОБЩИЕ ПОЛОЖЕНИЯ 3 1.1. Нормативные документы для разработки ООП по 3 направлению подготовки 1.2. Общая характеристика ООП 4 1.3. Миссия, цели и задачи ООП ВПО 5 1.4. Требования к абитуриенту 5 2. ХАРАКТЕРИСТИКА ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ 5 ВЫПУСКНИКА ПО НАПРАВЛЕНИЮ ПОДГОТОВКИ 2.1. Область профессиональной деятельности выпускника 5 2.2. Объекты профессиональной деятельности выпускника 2.3. Виды профессиональной деятельности выпускника 2.4. Задачи профессиональной...»

«Владимир Павлюшин Узоры пути Ульяновск 2012 ББК 00.00 У 00 Сайт http://znakisveta.ru Электронный адрес Владимира Алексеевича Павлюшина pvl24@yandex.ru Павлюшин Владимир У 00 Узоры пути. — Ульяновск. 2012. Сборники стихов Владимира Павлюшина: Серебряная Нить, Кедровый посох, Звездные крылья удачи, Одинокое дерево в Сердце Вселенной — издавались в Горно-Алтайске, Калининграде, Москве и Ульяновске, а также опубликованы в интернете на сайте Знаки Света. Владимир — прекрасный поэт. Пятый по счету...»

«Выращивание, воспитание, дрессировка и натаска охотничьей собаки за рубежом (по книге доктора Ф. Грандерата Дрессировка и натаска собак. ГДР, 1970 г. Granderath, Franz. Hundeabrichtung, 1970) Переводчик-составитель, кинолог-эксперт Республиканской категории В.К.Ушакова Москва 1991 Глава 1. Введение • • 1.1. Сущность дрессировки Глава 2. Выращивание, воспитание и дрессировка щенка охотничьей собаки • • 2.1. Условия содержания щенка, требования к хозяину и к щенку • 2.2. Чистота места • 2.3....»

«Аукционный дом КАБИНЕТЪ 66 Подборка из 8 планов Санкт-Петербурга и изъяснений к ним: 1) Изъяснение плана Санкт-Петербурга. СПб., в типографии А.А. Плюшара, 1840. 2) Изъяснение плана местности Санкт-Петербурга в 1700 году. СПб., печатано в типографии К. Жернакова, 1846. 3) Изъяснение плана местности Санкт-Петербурга в 1705 году. СПб., печатано в типографии К. Жернакова, 1846. 4) Изъяснение плана местности СанктПетербурга в 1725 году. СПб., печатано в типографии К. Жернакова, 1846. 5) Изъяснение...»

«К читателю Дорогой товарищ! Ты взял в руки пахнущую свежей краской книгу и прочел название: Удачливый рыболов. Ты, наверное, подумал: О чем она? Кому предназначена? Если ты интересуешься только живописными рыбацкими байками, отложи книгу в сторону — нет в ней таких баек. Но если ты, мечтаешь отвлечься от повседневных забот, встретиться в свободное время с природой, посидеть у костерка и отведать наваристой ухи из пойманной тобою лично рыбы, дочитай книгу до конца. Из нее ты узнаешь...»

«1 СОДЕРЖАНИЕ Стр. 1. ОБЩИЕ ПОЛОЖЕНИЯ 5 Нормативные документы для разработки ООП по направлению 1.1. 5 подготовки Общая характеристика ООП 1.2. 7 Миссия, цели и задачи ООП ВПО 1.3. 8 Требования к абитуриенту 1.4. 8 ХАРАКТЕРИСТИКА ПРОФЕССИОНАЛЬНОЙ 2. 8 ДЕЯТЕЛЬНОСТИ ВЫПУСКНИКА ПО НАПРАВЛЕНИЮ ПОДГОТОВКИ 2.1. Область профессиональной деятельности выпускника Объекты профессиональной деятельности выпускника 2.2. Виды профессиональной деятельности выпускника 2.3. Задачи профессиональной деятельности...»

«тер итория У Д О Б Н Ы Е П О К У П К И И С Е Р В И С р издание рекламное ю о- а а г зпд www.territoriya.info 6 (17) с н я р 2012 етбь Пкпи оук С л нк а о ы ао рст Фи н с и с о т те пр Ме и и а дцн Мо р б н к й еео А т,м т во оо Нди и от ев ж м сь Д нг еьи Рмн еот Итре неьр Сд а Зо о Рсоаы етрн Рзлчня авееи П адии рзнк П тш свя уе ети Оуеи бчне Улг суи Тк и ас Афиша информация для рек ламодаТелей www.territoriya.info Территория юго-запад 6 (17) сентябрь 2 Содержание 6 (17) сентябрь реСТораны...»

«Играй. Развивайся. Твори! Ирина Миронова. Сборник развивающих игровых упражнений. Ирина Миронова. Игры с осенними листьями http://mironovair.com/sposobnosti Игры с осенними листьями. Сборник развивающих игровых упражнений Содержание 3 Зачем нам нужны эти листья? 4 Игры для самых маленьких 6 Листья похожие и разные. Игры на сравнение и классификацию Игры с осенними листьями для развития слухового восприятия и 9 фонематического слуха 11 Задачи и логические задания с осенними листьями Тип 1...»

«ПРАВИТЕЛЬСТВО ВОЛОГОДСКОЙ ОБЛАСТИ ПОСТАНОВЛЕНИЕ от 14 апреля 2009 г. N 632 ОБ УТВЕРЖДЕНИИ ПОЛОЖЕНИЙ О ПАМЯТНИКАХ ПРИРОДЫ СТАРЫЙ ПАРК В ДЕРЕВНЕ БОЛЬШОЕ ВОСНОЕ, СТАРЫЙ ПАРК В ПОСЕЛКЕ ДАНИЛОВСКОЕ, СТАРЫЙ ПАРК В СЕЛЕ МИХАЙЛОВСКОЕ, СОСНОВАЯ АЛЛЕЯ УСТЮЖЕНСКОГО МУНИЦИПАЛЬНОГО РАЙОНА ВОЛОГОДСКОЙ ОБЛАСТИ В соответствии с Федеральными законами от 14 марта 1995 года N 33-ФЗ Об особо охраняемых природных территориях, от 6 октября 1999 года N 184-ФЗ Об общих принципах организации законодательных...»

«СИНЯЯ КНИГА 2-е издание ВЫДАЧА РЕГИСТРАЦИОННЫХ УДОСТОВЕРЕНИЙ ЛЕКАРСТВЕННЫХ ПРЕПАРАТОВ С АКЦЕНТОМ НА МНОГОИСТОЧНИКОВЫЕ (ГЕНЕРИЧЕСКИЕ) ПРЕПАРАТЫ Руководство для национальных регуляторных органов по обращению лекарственных средств (НРО) Выдача регистрационных удостоверений лекарственных препаратов с акцентом на многоисточниковые (генерические) препараты © Всемирная организация здравоохранения, 2011 г Опубликовано Всемирной организацией здравоохранения в 2011 г. под заглавием Выдача регистрационных...»

«6 ПРАВИТЕЛЬСТВО СВЕРДЛОВСКОЙ ОБЛАСТИ ДЕПАРТАМЕНТ ЛЕСНОГО ХОЗЯЙСТВА СВЕРДЛОВСКОЙ ОБЛАСТИ ПРИКАЗ г. Екатеринбург о внесении изменений в лесохозяйственный регламент Камышловекого лесничества, утвержденный приказом Министерства природных ресурсов Свердловекой области от 31.12.2008 ~ 1745 В соответствии с подпунктом 1 пункта 1 статьи 83, пунктом 2 статьи 87 Лесного кодекса Российской Федерации, пунктом 9 приказа Федерального агентства лесного хозяйства Российской Федерации от 04.04.2012.N~ 126 Об...»

«ДЖАГАТ МОХИНИ, ПОСМОТРИТЕ ЕЩЕ ОДНО ПИСЬМО ДЛЯ ВАС В КОНЦЕ ЭТОГО ФАЙЛА. ***************************************************************************** ************************** Примите мои поклоны. Моя проверка fidelity в тексте будет обозначаться знаком * (перед словом или фразой, которое я вставляю). Проверяю по второму (новому) изданию “Бх.Расаяны”, с синей обложкой. Ваш перевод очень хороший, только в каждой главе порой встречаются некоторые смысловые ошибки, достаточно существенные. Также в...»

«ДжонД. Грэйнджер Джон Д. Грэйнджер IИ[ООIШJEJPJU AЛrJEОСCAIНЩJPА ~(Q)JHKCOC(Q)IL(Q) Крушение великой державы ~ ИздАТЕЛЬСТВО Астрель МОСКВА УДК 94(3) ББК 63.3(0)3 Г91 Данное издание представляет собой перевод с английского языка оригинального издания.Alexander the Great Failurej The Collapse ofthe Macedonian Empire, впервые опубликованного издательством HambIedon Continuum, подразделением Continuum Books (Continuum UK, The Tower Building, 11 York Road, London SEI 7NX; Continuum US, 80 Maiden...»




 
© 2014 www.kniga.seluk.ru - «Бесплатная электронная библиотека - Книги, пособия, учебники, издания, публикации»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.