Научная статья на тему 'Организация конвейерных вычислений в задачах описания газодинамических объектов'

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

CC BY
94
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

УДК 651.326

В.М. ГУСЯТИН, канд. техн. наук, ХНУРЭ (г.Харьков),

В.Н. СИДОРОВ, ХНУРЭ (г.Харьков),

ОРГАНИЗАЦИЯ КОНВЕЙЕРНЫХ ВЫЧИСЛЕНИЙ В ЗАДАЧАХ

ОПИСАНИЯ ГАЗОДИНАМИЧЕСКИХ ОБЪЕКТОВ

На прикладі двовимірного випадку показаний порядок розрахунку осередків на кожному із трьох етапів. Виконано оцінку мінімально необхідного числа обчислювачів для кожного етапу. Запропоновано порядок запуску обчислювачів кожного етапу для організації безперервних конвеєрних обчислень. Отримано співвідношення для розрахунку числа тактів роботи обчислювачів на кожному етапі для однієї ітерації залежно від розмірності розрахункової сітки. Отримані результати можуть бути використані при розробці систем візуалізації у реальному часі для наукових досліджень та тренажерів різного призначення.

By the example of a two-dimensional case the procedure of calculation of cells on each of three stages is shown. The estimation of minimally necessary number of calculators for each stage is executed. The order of start of calculators of each stage for the organization of continuous conveyor calculations is offered. Parities for calculation of number of steps of work of calculators at each stage for one iteration are received depending on dimension of a settlement grid. The received results can be used at system engineering visualization of real time for scientific researches and simulators of various purposes.

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

Анализ литературы. В настоящее время визуализация таких явлений как дым, пар сводится к визуальной их имитации [1], что в значительной мере затрудняет как описание самих объектов, так и расчет их взаимодействия с окружающей средой. Все вычисления, связанные с визуализацией эффектов, связанных с использованием газодинамических объектов, выполняются в графическом спецпроцессоре, что создает жесткие рамки при описании поведения объектов. В предложенной статье рассматриваются принципы построения специализированного процессора, который описывает физические процессы, протекающие в газодинамических объектах. Спецпроцессор работает в соответствии с методом "крупных частиц", позволяющим определять параметры газодинамического поля в любой момент времени в любой области пространства расчетной сетки [2 - 8].

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

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

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

- характеристики газодинамического объекта на границах.

Метод крупных частиц состоит из трех этапов [2 - 6], следовательно, спецпроцессор представляет собой конвейерную структуру, основными блоками которой являются вычислители трех этапов метода. Метод крупных частиц подразумевает последовательное вычисление параметров каждой ячейки координатной сетки на каждом из трех этапов метода, что является крайне нерациональным с точки зрения реализации вычислителя, так как при расчете первого этапа метода вычислители, реализующие два последующих этапа, простаивают. Эти рассуждения аналогичны для вычислений на втором и третьем этапах. Для уменьшения случаев простоя ступеней конвейера предложен определенный вариант просмотра ячеек координатной сетки, который позволяет параллельно проводить вычисления по всем трем этапам метода крупных частиц. В процессе анализа метода крупных частиц определены следующие зависимости при вычислении этапов метода (для простоты изложения рассматриваем двумерный случай и первый порядок точности) [2 - 6]:

- исходными данными для расчета (г, ]) ячейки на первом этапе алгоритма являются данные на момент начала итерации для ячеек (г,Д (г + 1, Д (г, ] + 1);

- исходными данными для расчета (г,/) ячейки на втором этапе алгоритма являются данные расчета первого этапа алгоритма для ячеек (г, Д (г + 1, Д

(г, ] + 1);

- исходными данными для расчета (г, ]) ячейки на третьем этапе алгоритма являются данные расчета второго этапа алгоритма для ячеек (г, Д (I - 1, Д (г, ] - 1), (г + 1, Д (г, ] + 1).

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

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

Рис. Последовательность обхода ячеек расчетной сетки газодинамического объекта

Последовательность просчета ячеек для двумерного случая с

применением одного вычислителя на каждом этапе представлена в табл. 1.

Таблица 1

№ такта Первый этап Второй этап Третий этап

1 (1,1) - -

2 (1,2) - -

3 (2,1) - -

4 (1,3) (1,1) -

5 (2,2) - -

6 (3,1) (1,2) -

7 (1,4) (2,1) -

8 (2,3) - (1,1)

9 (3,2) (1,3) -

10 (4,1) (2,2) -

11 (1,5) (3,1) (1,2)

12 (2,4) - (2,1)

13 (3,3) (1,4) -

14 (4,2) (2,3) -

15 (5,1) (3,2) (1,3)

Следует заметить, что параметры ячеек при вычислении третьего этапа зависят от пяти ячеек, вычисленных на втором этапе. При этом для вычисления параметров этих ячеек первой горизонтали и вертикали используются параметры фиктивных ячеек (индекс 0), которые постоянны для всего периода вычислений.

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

Таблица 2

№ такта Первый этап Второй этап Третий этап

1 (1,1) (1,2) (2,1) - - - - - -

2 (1,3) (2,2) (3,1) - - - - - -

3 (1,4) (2,3) (3,2) - - - - - -

4 (4,1) (1,5) (2,4) (1,1) (1,2) (2,1) - - -

5 (3,3) (4,2) (5,1) (1,3) (2,2) (3,1) - - -

6 (1,6) (2,5) (3,4) (1,4) (2,3) (3,2) - - -

7 (4,3) (5,2) (6,1) (4,1) (1,5) (2,4) (1,1) (1,2) (2,1)

8 (1,7) (2,6) (3,5) (3,3) (4,2) (5,1) (1,3) (2,2) (3,1)

9 (4,4) (5,3) (6,2) (1,6) (2,5) (3,4) (1,4) (2,3) (3,2)

10 (7,1) (1,8) (2,7) (4,3) (5,2) (6,1) (4,1) (1,5) (2,4)

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

(N • N.)

N = —-------------]— + 2 • п , (1)

3

где - размеры расчетной сетки,

п - задержка начала расчетов второго этапа в тактах по отношению к первому и третьего этапа по отношению ко второму; для всех последующих итераций:

(К, • N.)

N = —-------------3— . (2)

3

Аналогичные рассуждения могут быть перенесены и на трехмерный

случай, который описывает поведение газодинамического объекта в

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

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

(N, - Nj - Nq )

N =—'■------J----q— + 2-n , (3)

4

где Ni, Nj, Nq - размеры расчетной сетки,

n - задержка начала расчетов второго этапа в тактах по отношению к первому и третьего этапа по отношению ко второму; для всех последующих итераций:

(Ni - Nj - Nq )

N = —i------J----q— . (4)

4

Выводы. 1. На примере двумерного случая показан порядок расчета ячеек на каждом из трех этапов.

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

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

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

Список литературы: 1. Foley J.D., van Dam A., Feiner S.K., Hughes J.F. Computer Graphics (principles and practice) by Addison-Wesley Publishing Company, Inc. 1996. - 1175 p. 2. Гусятин В.М., Сидоров В.Н. Математическая модель описания газодинамических сред в системах визуализации реального времени // Авиационно-космическая техника и технология. - 2005. - №3 (19). - С. 4349. 3. Годунов С.К., Забродин А.В., Иванов М.Я., Численное решение многомерных задач газовой динамики. - М.: Наука, 1976. - 401 с. 4. Белоцерковский О.М., Давыдов Ю.М., Метод крупных частиц в газовой динамике. - М.: Наука, 1982. - 500 с. 5. Гусятин В.М.. Сидоров В.Н. Выбор параметров модели описания газодинамических объектов в задачах синтеза изображения для систем визуализации // Радиоэлектроника и информатика. - 2005. - № 4. - С. 69-71

6. Белоцерковский О.М., Давыдов Ю.М. Метод "крупных частиц" для задач газовой динамики. Инф. бюл. СО АН СССР "Численные методы механики сплошной среды". - 1970. - Т. 1. - С 27.

7. Самарский А.А., Михайлов А.П. Математическое моделирование. - М.: Наука, 2001. - 320 с.

8. Самарский А.А., Попов Ю.П. Разностные методы решения задач газовой динамики. - Едиториал УРСС, 2004. - 424 с.

Поступила в редакцию 20.10.2006

i Надоели баннеры? Вы всегда можете отключить рекламу.