Отчет о выполеннии ниокр по теме «Разработка программного комплекса трассировки лучей для вычислительных систем на базе процессоров Cell»

Вид материалаОтчет

Содержание


О выполеннии ниокр
Содержание исследований
Класс «Мастер»
Класс «Рабочий»
Подобный материал:


Полное название малого предприятия

(сокращенное название малого предприятия)



УДК 004.45



















УТВЕРЖДАЮ:




Генеральный директор

Сокращенное название малого предприятия

М.П.

______________________ Ф.И.О.

Регистрационный N

«____» ________________ 2007 г.

Инв. N






ОТЧЕТ

О ВЫПОЛЕННИИ НИОКР

по теме

«Разработка программного комплекса трассировки лучей

для вычислительных систем на базе процессоров Cell»

государственный контракт № …….. р /……. от месяц 2009 года

Этап 1 (1.2)

«Разработка параллельного алгоритма трассировки лучей, адаптированного для процессоров Cell с учетом разработанной математической модели»

(промежуточный)



Челябинск 2009 г.

РЕФЕРАТ

Отчет 3 с., 1 ч.. Ключевые слова: raytracing, Cell, диаграмма классов, диаграмма деятельности, модель «Мастер» - «Рабочие».

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

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

Разработанный параллельный алгоритм трассировки лучей
  • адаптирован под основные особенности архитектуры процессоров Cell;
  • использует для расчетов разработанную ранее математическую модель;
  • реализует модель «Мастер» - «Рабочие»;


В ходе данного этапа был разработан параллельный алгоритм трассировки лучей, адаптированный для особенностей архитектуры процессоров Cell, построена диаграмма классов, реализующих разработанный алгоритм с использованием модели «Мастер» - «Рабочие», разработаны диаграммы действий классов.

По данному этапу НИОКР работы выполнены в полном объеме на высоком технологическом уровне.


СОДЕРЖАНИЕ ИССЛЕДОВАНИЙ

Основная задача этапа 1.2 НИОКР заключалась в разработке алгоритма трассировки лучей, адаптированного для следующих особенностей архитектуры процессора Cell:
  • управляющий элемент (PPE, Power Processor Element), обладающий большой оперативной памятью, но малой скоростью вычислений;
  • 8 вычислительных ядер (SPE, Synergistic Processor Element), обладающие малой оперативной памятью (Local Store 256 Кб), но большой скоростью вычислений.

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

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



Рис. . Диаграмма классов

Далее описана семантика классов, представленных на диаграмме.

Класс «Мастер»

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

InitSlaves() – инициализировать «Рабочих».

MakeTask() – формирование задания для последующей отправки «Рабочему».

SendTask() – отправить задания свободному «Рабочему».

SaveResult() – сохранить полученный от «Рабочего» результат вычислений.

Класс «Рабочий»

Решает математическую задачу расчета цвета заданного пикселя по формуле, приведенной в математической модели. Отправляет «Мастеру» запрос на получение задания, после окончания расчетов отправляет «Мастеру» результат.

Compute() – выполнить расчет согласно разработанной ранее математической модели.

SendTask() – отправить «Мастеру» результат вычислений.

На рис. 





Рис. . Диаграммы действий классов «Диспетчер» и «Решатель»


МЕТОДЫ ИССЛЕДОВАНИЯ

Проведенные исследования базируются на следующих основных методах:
  • методы системного программирования;
  • язык UML.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ

Разработан алгоритм трассировки лучей, адаптированный под особенности архитектуры процессоров Cell. Разработана диаграмма классов, реализующих модель «Мастер» - «Рабочие», разработаны диаграммы действий класса «Мастер» и класса «Рабочий».