Современные алгоритмы высокопроизводительной визуализации научных данных В презентации использованы материалы доклада Parallel Data Visualization Challenges.

Презентация:



Advertisements
Похожие презентации
Трансляция операций с массивами в код для современных графических процессоров Сахарных Н.А., Адинец А.В. Научный руководитель Березин С.Б. Лаборатория.
Advertisements

Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред.
Санкт-Петербургский государственный университет информационных технологий, механики и оптики Санкт-Петербург 2009 Санкт-Петербургский государственный университет.
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
1 Растровые изображения на экране монитора. Компьютерная графика область деятельности, в которой компьютеры используются как инструмент для создания изображений,
Принципы адаптации вычислительных алгоритмов под параллельную архитектуру графических акселераторов С.М.Вишняков научный руководитель: д.т.н. А.В.Бухановский.
Основы компьютерной графики Основные понятия и графические редакторы.
ПОСТРОЕНИЕ ДИАГРАММ И ГРАФИКОВ ФУНКЦИЙ 1.Графическое представление данных. 2.Типы диаграмм 3.Табулирование функции 4.Построение графиков математических.
Санкт-Петербургский государственный университет информационных технологий, механики и оптики Санкт-Петербург 2009 Санкт-Петербургский государственный университет.
Стадник Е. Г. ФПМИ НГТУ Руководитель: Городничев М.А., м.н.с. ИВМ и МГ СО РАН.
Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред.
Python как инструмент Data Mining Лекция 4.4 Инструменты Data Mining Зырянов Александр Олегович.
Система многомерной визуализации T&T ИММ УрО РАН.
Intro Галинский В.А. Физико-математический лицей 30 Computer Graphics Support Group 1 Введение в компьютерную графику URL:
МАССИВЫ ОДНОМЕРНЫЕ МАССИВЫ Презентацию подготовила Ученица 11 Б Карапетян Наташа.
Анализ вычислительной сложности алгоритмов Теория сложности вычислений.
Компьютерная графика. Компьютерная графика –область информатики, занимающаяся методами, средствами создания и обработки изображений с помощью программно-аппаратных.
Стандартная библиотека шаблонов (STL) Контейнеры –структуры для хранения данных. Алгоритмы – шаблонные универсальные функции для обработки данных Итераторы.
Исследование методов визуализации данных о покрытии географической зоны телекоммуникационными сервисами Максим Логунов, 717 группа Научный руководитель.
КОДИРОВАНИЕ И ОБРАБОТКА ГРАФИЧЕСКОЙ ИНФОРМАЦИИ. Кодирование графической информации.
Транксрипт:

Современные алгоритмы высокопроизводительной визуализации научных данных В презентации использованы материалы доклада Parallel Data Visualization Challenges (Dr. Jean M. Favre) Березин С.Б. ВМК МГУ

О сложности задачи процессоров 12500x12500x12500 точек Динамический процесс!

Требования к визуализациям Цель визуализации – позволить исследователю проникнуть в суть данных (insight into data) Интерактивность Работа с громадными наборами данных Отсутствие искажений (HiFi) Изменяющиеся во времени данные

High fidelity display Каждая точка может быть важна - необходимо просмотреть весь набор данных

Визуальный конвейер Источник данных Преобразование данных Отображение данных в 2D/3D пространство Построение изображения - должен удовлетворять ряду требований - важно не потерять особенные точки - почти все уже придумано... - с применением современных GPU

E 1 S – Line graph

E 1 nS – Line/Marker graph

E 1 3S – Scatter Plot / Набор точек

E 1 3S – Диаграммы Вороного

E 2 S -Carpet plot / colormap

E 2 S – Contour plot

E 2 V2 – Vector glyphs + colormap

E 2 V2 – Stream lines / Линии тока

E 2 V2 – Line integral convolution Imaging Vector Fields Using Line Integral Convolution Brian Cabral, Leith (Casey) Leedom, SIGGRAPH '93

E 2 S – Surface view

E 3 S – Изоповерхности

Метод марширующих кубов

E 3 S – Volume rendering

E 3 4S – Point cloud

E 3 4S – Ячейки Вороного

E 3 T3,3 – Glyph plot

E 3 V3 – Hedgehog (Glyph plot)

E 3 V3 – Streamlines / Streamribbons

E 3 T3,3 – Hyper streamlines

Примеры композитных визуализаций

Последовательный доступ к данных Рисование графика функции (line plot ) BeginPolyline() while(not eof) { x = read float y = read float AddPoint(x,y) } EndPolyline()

Последовательный доступ к данным Рисование цветовой карты (colormap) for(y = 0;y < h;y++) for(x = 0;x < w;x++) { v = read float PutPixel(x,y,Palette(v)) }

Палитра: отображение значения в цвет Функции Palette нужны max и min Функция Palette вызывается уже для первого пиксела Выводы: Перед рисованием карты цветов нужно найти max/min Просмотреть весь набор данных последовательно или Взять max/min из метаданных или Определить max/min из типа величины (метаданные)

Метаданные: атрибуты набора данных Набор пар (словарь) climatological_bounds = clim_bounds missing_value = -999 name = wet_day_frequency units = days long_name = Wet day frequency cell_methods = latitude: point longitude: point time: mean within years time: mean over years

Построчный доступ Рисование изолиний: row0 = read row for(y = 1;y < h;y++) { row1 = read row for(x = 0;x < w;x++) { drawcell(row0,row1,x,y) } row0 = row1 } r0 r1 r0 r1

Послойный доступ Рисование изоповерхности: y = 0 s0 = read slice y for(y = 1; y < h; y++) { s1 = read slice y for(x = 0; x < w; x++) for(z = 0; z < d; z++) drawcell(s0,s1,x,y,z) s0 = s1 } y z x s0 s1 s0 s1 s0 s1 Здесь завершается возможность стриминга

Прозрачность: вывод данных back-to-front А B А B B,A А,B X=0,1,2,…,N-1 y z x X=N-1,N-2,…,0 Depth peeling все же разрешает вывод в произвольном порядке

Произвольный доступ Рендеринг объемных данных: for(px=0;px

Произвольный доступ

Визуализация на сечениях: y z x Hyberslabbing

Требования к источникам данных Поддержка работы с метаданными Эффективные операции чтения по частям и hyperslabbing Array read(int[] origin, int[] stride, int[] shape) read({3,3},{2,2},{3,3}) -> double[3,3] Эффективные операции записи с возможным увеличением размера массива NetCDF: HDF:

Методы повышения интерактивности Уменьшение детализации сцены на время активного взаимодействия с пользователем Создание высокодетализированного изображения в фоновом потоке Plot 64x64x64 Запуск второго потока Ожидаем действий пользователя Остановка второго потока N=128 Plot NxNxN Рисуем изображение N < M N=N * 2

Методы увеличения производительности Фильтрация данных, чтение и отображение только части точек (количество точек > количества пикселей) Можно потерять часть интересных значений! Применение параллельных вычислений Графические процессоры параллельны по своей природе Разделение задачи визуализации между вычислительными узлами Sort first: выделяет каждому вычислителю свою часть экрана -> разбиение данных Sort last: выделяем каждому узлу свою часть данных -> объединение изображений

Sort first Разбиение экранной плоскости определяет разбиение данных Идеален для 2D графики (тайловый подход) В 2D эффективно распараллеливается В 3D возможно пересечение наборов данных на узлах В 3D распределение данных по узлам зависит от положения наблюдателя (view frustum)

Sort last Распределение данных по узлам первично Каждый узел строит изображение своей части данных Нет проблем с непрозрачными объектами Требуются нетривиальные алгоритмы для прозрачности Возможны проблемы сшивки данных В некоторых случаях все равно требуется перераспределение данных по узлам

Методы повышения интерактивности Уменьшение детализации сцены на время активного взаимодействия с пользователем Создание высокодетализированного изображения в фоновом потоке Plot 64x64x64 Запуск второго потока Ожидаем действий пользователя Остановка второго потока N=128 Plot NxNxN Рисуем изображение N < M N=N * 2

Очень неудачный пример записи данных FILE *out = fopen(grid.txt,w); for(int j=0;j

Иерархические источники данных Карты Virtual Earth, Google Maps Mipmapping в OpenGL/DirectX Произвольные источники данных Размер увеличивается меньше, чем на 50%: 1 + ¼ +1/8 + 1/16 + ….

Блочные (сhunked) массивы Линейное представление массивов Блочное представление массивов

Зависимость скорости доступа от размера блока

Материалы по теме Учебный курс по визуализации (со слайдами): Dr. Jean M. Favre. Parallel Data Visualization Challenges ParaView software Scientific Data Management in the Coming Decade

NetCDF 3