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

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

CC BY
120
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГРАФИЧЕСКИЙ ПРОЦЕССОР / РАЗНОСТНАЯ СХЕМА / МОДЕЛИРОВАНИЕ / ВОЛНОВОЕ ПОЛЕ / GPU / DIFFERENCE SCHEME / MODELING / WAVE FIELD

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Якименко Александр Александрович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Якименко Александр Александрович

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

Using a hybrid computational systems for solving problems of geophysics

The article explored some possibilities of using hybrid computing devices based on the graphics processor in numerical modeling of seismic wave fields, as well as the results of the run-time most labor-intensive algorithms.

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

ИСПОЛЬЗОВАНИЕ ГИБРИДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ ДЛЯ ЧИСЛЕННОГО МОДЕЛИРОВАНИЯ ВОЛНОВЫХ ПОЛЕЙ

Александр Александрович Якименко

Новосибирский государственный технический университет, 630092, г. Новосибирск, пр-т К. Маркса, 20, аспирант, тел. +7-923-224-20-10, e-mail: al--le@yandex.ru

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

Ключевые слова: графический процессор, разностная схема, моделирование, волновое

поле.

USING A HYBRID COMPUTATIONAL SYSTEMS FOR SOLVING PROBLEMS OF GEOPHYSICS

Alexander A. Yakimenko

Novosibirsk State Technical University, 630092, Novosibirsk, pr. K. Marks, 20, postgraduate student, phone. +7-923-224-20-10, e-mail: al--le@yandex.ru

The article explored some possibilities of using hybrid computing devices based on the graphics processor in numerical modeling of seismic wave fields, as well as the results of the runtime most labor-intensive algorithms.

Key words: GPU, difference scheme, modeling, wave field.

ВВЕДЕНИЕ

Доклад посвящен применению современных графических процессоров (ГПУ, GPU, Graphics Processing Unit) в задачах моделирования полных волновых полей в неоднородных упругих средах. Из всех известных методов численного моделирования распространения упругих волн наиболее гибкими, в случае сложно построенных трехмерно неоднородных упругих сред, являются разностный метод и метод конечных элементов, однако их использование требует больших вычислительных затрат даже при применении суперЭВМ. Современные графические процессоры (ГПУ, GPU, Graphics Processing Unit) являются высокопроизводительными вычислительными системами, сравнимыми с суперкомпьютерами в решении широкого класса задач с высокой интенсивностью использования данных. Вычислительные системы, построенные на базе графических процессоров, превосходят традиционные суперкомпьютеры по ряду характеристик: более высокая энергоэффективность, лучшее соотношение цена/производительность, меньшие размеры, пониженные требования к инженерной инфраструктуре, более высокая распространённость и доступность. Представленная работа отражает реализацию параллельной программы для моделирования сейсмических волновых полей в трехмерных

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

1. Метод решения задачи

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

(X, ц - параметры Ламе; р - плотность, а - вектор тензора напряжений, u,v,w — вектора скоростей смещения, f — массовая сила, т - шаг дискретизации по времени)

2. Реализация конечно-разностной схемы на GPU

Реализация рассматриваемой задачи осуществляется на графическом процессоре с помощью технологии CUDA. Используемый язык программирования - C++. На текущей стадии реализации максимальная размерность трехмерной модели составляет 1024*128*64 или 8388608 (произвольное произведение по трем размерностям) и обусловлена имеющимся объемом видеопамяти. Максимальное количество шагов по времени на указанном размере модели без возникновения прерывания «deadlock» - 1000000 шагов. В программе для расчетов используется одинарный точность, тип данных - float.

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

int i=0;

int tid = threadldx.x + blockIdx.x * blockDim.x; for(i = time[0]; i < time[1]; i++)// Цикл по времени {

while (tid < N)

{

//Расчет схемы.

tid +=blockDim.x * gridDim.x;

}

}

}

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

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

Таблица 1. Вычислительные средства

CPU GPU NVDIA GeForce GTX470

Процессор: Intel Core i7 2600 (3.40 GHz) Оперативная память: DDR-III DIMM 2048Mb x2 DDR1333 Операционная система: Windows 7 Professional 64-bit Частота GPU 576 МГц Кол-во универсальных процессоров 448 Кол-во текстурных процессоров 56 Частота ядра 607 МГ ц Видеопамять 1280Мб DDR5 Частота видеопамяти 3348 МГц Шина памяти 320 бит

На рис. 2 представлено время выполнения операций, выполняемых с GPU, в зависимости от размеров модели для 1 шага итерации временного цикла по трем параметрам: transfer - пересылка данных, calculate - расчет, all -суммарное время выполнения (Рис. 2 - правый ряд).

В сравнении с расчетом на центральном процессоре (Рис. 2 - левый ряд) для одной итерации по времени достигается ускорение до 3 раз. При увеличении количества итераций цикла по времени и модельной сетки решаемой задачи полученное ускорение может достигать сотни раз.

Размер модели 16x16x16 <№ ■ transfer ■ calculate 10096 Разме 4^Ш з модели 16x16x16 ■ transfer ■ calculate В4%

Размер 2 модели 64x64x64 % * ■ transfer ■ calculate Разме модели 64x64x64 ■ transfer ■ calculate 74%

Размер модели 256x256x128 а“ ■ transfer ■ calculate Размер мо дели 256x256x128 ■ transfer ■ calculate 78%

Рис. 1. Процентное соотношение на пересылку (transfer) и счет (calculate) на различных размерах модели и цикла по времени (слева - 1 итерация, справа -

1000000)

Рис. 2. Время выполнения расчета в зависимости от размера модели (верхний ряд - все размеры, нижний ряд - 4096, 32768, 262144 в более крупном

масштабе)

Заключение

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

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Сандерс Дж., Кандрот Э. Технология CUDA в примерах. // Введение в программирование графических процессоров, изд-во ДМК Пресс, Москва, 2011, 231 с.

2. Б.М. Глинский, Д.А. Караваев, В.В. Ковалевский, В.Н. Мартынов Численное моделирование и экспериментальные исследования грязевого вулкана «Гора Карабетова» вибросейсмичскими методами // Вычислительные методы и программирование, 2010, Т. 11, Москва, с. 95-104.

© А.А. Якименко, 2012

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