Научная статья на тему 'Клеточно-автоматное моделирование физико-химических процессов наноуровня на графических ускорителях'

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

CC BY
280
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛЕТОЧНЫЙ АВТОМАТ / ГРАФИЧЕСКИЙ УСКОРИТЕЛЬ / БЛОЧНО-СИНХРОННЫЙ РЕЖИМ / АСИНХРОННЫЙ РЕЖИМ / GRAPHICS PROCESSING UNIT (GPU) / CELLULAR AUTOMATON / BLOCK-SYNCHRONOUS MODE / ASYNCHRONOUS MODE

Аннотация научной статьи по математике, автор научной работы — Калгин К. В.

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

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

CELLULAR AUTOMATA SIMULATION OF NANOSCALE PHYSICO-CHEMICAL PROCESSES ON GRAPHICS PROCESSING UNITS

Simulation of nanoscale catalytic physico-chemical processes by the kinetic Monte-Carlo (KMC) method requires a sufficiently large computational power. Creation of «exact» parallel simulation algorithms for GPUs is quite problematic. In this paper, we study the possibility of applying cellular automata block-synchronous modes to KMC method simulation. New block-synchronous modes are proposed which are implemented on a GPU with high efficiency and with a higher fidelity of original model dynamics reproduction.

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

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 519.22

КЛЕТОЧНО-АВТОМАТНОЕ МОДЕЛИРОВАНИЕ ФИЗИКО-ХИМИЧЕСКИХ ПРОЦЕССОВ НАНОУРОВНЯ НА ГРАФИЧЕСКИХ УСКОРИТЕЛЯХ

© 2013 г. К.В. Калгин

Институт вычислительной математики и математической геофизики СО РАН, Новосибирск

kalgin@ssd.sscc.ru

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

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

Ключевые слова: клеточный автомат, графический ускоритель, блочно-синхронный режим, асинхронный режим.

Введение

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

Асинхронное клеточно-автоматное (АКА) моделирование реальных процессов требует больших вычислительных мощностей, поскольку для выявления каких-либо свойств моделируемых процессов необходимо оперировать большими количествами частиц (1010—1012) в течение длительного времени (103—105 итераций). Естественно возникает потребность использовать параллельные вычислители для ускорения вычислений, к этому также располагают основные свойства клеточного автомата -естественная мелкозернистая параллельность и локальность взаимодействий при функционировании. Однако асинхронные клеточные автоматы не поддаются столь же легкому распараллеливанию, как обычные, синхронные, клеточные автоматы.

Это связано с тем, что при распараллеливании необходимо соблюдать следующие свойства: корректность и эффективность распаралле-

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

клетки на некотором шаге должна быть равна вероятности выбора любой другой клетки на любом другом шаге.

Существующие параллельные алгоритмы можно разделить на два класса: не нарушающие свойства равноправия в выборе клеток [2, 3] (сохраняющие асинхронизм) и нарушающие его [4, 5] (нарушающие асинхронизм). Алгоритмы первого класса можно назвать «точными», они пригодны для исполнения только на мультипроцессорах и мультикомпьютерах, но не на графических ускорителях.

В работах [4-6] на трёх моделях показано, что применение алгоритмов, нарушающих асинхронизм, не вносит существенных изменений в моделируемый процесс. В основе этих алгоритмов лежат блочно-синхронные режимы работы клеточного автомата. В данной работе на примере модели ZGB (Ziff-Gulari-Barshad) [7] физико-химического процесса окисления углекислого газа на каталитической поверхности показывается, что использование блочносинхронных режимов может существенно изменить моделируемый процесс. Вопрос о том,

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

Далее в разделе 1 даётся формальное определение клеточного автомата; в разделе 2 даются определения различных режимов, вводится новый расширенный блочно-синхронный режим; в разделе 3 описывается классическая модель ZGB [7] протекания химических реакций на поверхности катализатора; в разделе 4 исследуется статистическое отклонение эволюции при блочно-синхронных режимах от эволюции при асинхронном режиме для модели ZGB, показывается преимущество новых расширенных блочно-синхронных режимов; в разделе 5 описываются реализация и полученное ускорение на современных графических ускорителях.

1. Определение клеточного автомата

Асинхронная вероятностная КА модель описывается четвёркой

КА = {X, A, 0, Y).

Здесь:

- X - множество координат клеток. Наиболее употребимый вариант множества X - прямоугольная решётка

X = {{(/, j) \i е {0,1,2,..., Nr -1}},

j е {0,1,2,...,Nj -1}}; ()

- A - алфавит, множество состояний клеток. Клетка z есть пара z = (x, a) , где x е X называется координатой клетки и а е A - её состоянием. Клеточный массив Q есть множество клеток, Q = {(x, а)} с X х A , где ни одна пара клеток не имеет одинаковой координаты и {x | (х, а) е Q} = X. Поскольку между множеством координат клеток и множеством клеток в клеточном массиве существует взаимно-однозначное соответствие, далее мы будем отождествлять клетку и её координаты;

- 0 - локальный оператор перехода, далее просто оператор. Оператор 0 есть вероятностное отображение вида

0 : AT х A|T|--^ AT|, (2)

где шаблон T есть список именующих функций ф : X ^ X, T = {ф1,ф2,...,ф|Л}. Шаблон T определяет соседство клетки x: T(x) = ^(x),..., ф|Т| (x)}. В КА рассматриваемого класса следующие шаблоны наиболее используемы:

Tl3(x) = {x + v0, x + Vj,., x + v12}, (3)

T9(x) = {x + v0, x + v1,., x + v8}, (4)

где

V = {”^0, Уі2} =

= {(0,0), (0,1), (1,0), (0,-1), (-1,0), (1,1), (1,-1), (-1,1),(-1,-1), (0,2),(2,0), (0,-2),(-2,0)}. Применением рператрра 0 к клетке х называется обновление состояний клеток соседства Т(х) состояниями 0(Н(х)), где Н(х) есть список состояний клеток соседства Т(х);

- У - режим работы, который определяет порядок применения оператора к клеткам:

У є {ст,а, Р,у}, где ст означает синхронный режим, а - асинхронный, Р - блочно-синхронный, у - новый расширенный блочно-синхронный режим. Первые КА модели [8] формулировались в синхронном виде, то есть использовался синхронный режим. Основной режим работы рассматриваемого в данной работе класса КА моделей -асинхронный. Блочно-синхронные режимы используются в качестве вспомогательных в параллельных реализациях, в том числе на графических ускорителях. Далее подробно определяются режимы работы и эволюция клеточного автомата.

2. Эволюция клеточного автомата

В ходе моделирования происходит изменение клеточного массива О . Процесс моделирования разбивается на итерации. Эврлюция кле-трчнргр автрмата есть последовательность

О = {00,0;,02,...}, где 00 - начальный клеточный массив, а О, - клеточный массив после исполнения Ґ -й итерации.

Режим работы У задаёт порядок и количество применений оператора 0 к клеткам. Далее рассмотрим три режима наиболее часто используемых в КА моделях физико-химических процессов: синхронный (ст), асинхронный (а ) и блочно-синхронный (Р и у ).

Определение 1. В синхронном режиме ст итерация есть синхронное, одновременное применение оператора 0 ко всем клеткам клеточного массива.

Определение 2. В асинхронном режиме а итерация состоит из | X | последовательных шагов, на каждом шаге оператор 0 применяется к случайно выбранной клетке. На каждом шаге клетка выбирается независимо от номера итерации, номера шага, клеточного массива и предыдущих выбранных клеток. Разбиение процесса моделирования в асинхронном режиме на итерации, которые состоят из | X | шагов,

является условным и вводится по аналогии с синхронным режимом.

Определяемый далее блочно-синхронный режим содержит как синхронную компоненту, что позволяет эффективно исполнять его на параллельных вычислителях, так и асинхронную, что позволяет в некоторой степени имитировать работу асинхронного режима. Именно поэтому в работах [4, 5] он вводится исключительно как вспомогательный для эффективного и простого исполнения АКА моделей на параллельных вычислителях. В работах [4-6] на нескольких АКА моделях физико-химических процессов показано, что эволюции, полученные при асинхронном и блочно-синхронном режимах, не отличимы по анализируемым характеристикам. Полученные в этих статьях результаты не могут служить доказательством какой бы то ни было эквивалентности эволюции КА при асинхронном и блочно-синхронном режимах. Кроме того, автором были найдены «контрпримеры», показывающие, что для некоторых КА моделей использование блочно-синхронного режима

вместо асинхронного приводит к существенным изменениям в эволюции КА.

Определение 3 [4, 5]. В блочно-синхронном режиме Р итерация состоит из w стадий. На каждой стадии оператор 0 синхронно применяется ко всем клеткам случайно выбранного

подмножества ^^ с X, из семейства

£ = {51,S2,...Sв}, причем Ук | Sk |=| X |/м>. Для

обеспечения свойств корректности [4] синхронного применения, равноправности выбора клеток и эффективного параллельного исполнения [9] на семейство 5 накладываются следующие условия:

и 5- = X, (5)

і

У і ф j п Sj = 0, (6)

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

У£ ит (х) = X, (7)

хєБ-

У£ Ух1,х2 є 5І : Т(х1) п Т(х2) = 0. (8)

Увеличивая размер шаблона Т, мы приближаемся к асинхронному режиму: при условии, что

Ух є X Т (х) = X, блочно-синхронный и асинхронный режимы эквивалентны, КА р = КА а .

Определение 4. В расширенном блочносинхронном режиме у итерация определяется так же, как и в блочно-синхронном режиме за следующим исключением. Условия (5) и (6),

которые говорят, что S есть одно из возможных разбиений X, заменяются на следующее: S есть объединение всех разбиений X, для которых выполняются условия (7) и (8).

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

Перечислим элементы семейств S9 и S13 (см. также рис. 1 и 2), построенных с помощью шаблонов T9 и T13 соответственно:

^/3 = {(^ У):

y = i(mod3) x = r y/3j (mod3)},

S%..NZ/3 = {(x, У):

x = i(mod3) y = r^x/3j (mod 3)},

( \ (

S9 =

U SJ1.

-Пїу /З

^ i,ro,. ,rNy /З

Sf,1 = {( x,

s^2 = {( x,

u

Л

U S9

9,l

i,r0--JNX/З

yi,r0,---,rNX /З у

(9)

(10)

(11)

S13 = U (Sf,1 u S1^).

(14)

Таким образом, полностью определено семейство 5 расширенного блочно-синхронного КА для наиболее часто используемых шаблонов Ты, где N е {9,13}. Далее также используются блочно-синхронные режимы с семействами 5, построенными с помощью шаблонов Т25 (квадрат 5 х 5) и Т49 (квадрат 7 х 7). Семейства 525 и 549 устроены аналогично семейству 59, построенному с помощью шаблона Т9 (квадрат 3 х 3).

3. Модель ZGB

Для проведения вычислительных экспериментов используется известная АКА модель ZGB [7] физико-химического процесса окисления углекислого газа на каталитической поверхности. Множество координат есть прямо-

о о о о

о о о о

О о о о

о © © о

(а)

о

о

о о

о

о

о о

о

о

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

о о

о

о

© о

(б)

Рис. 1. Серыми кружками выделены клетки, координаты которых принадлежат множествам 5012 (а) и

(б)

Рис. 2. Серыми кружками выделены клетки, координаты которых принадлежат множествам 503’1 (а) и 503’2

(б)

угольная решётка (1). Алфавит А = {0, СО, О}, где состояние 0 означает пустой активный центр катализатора, а состояния СО и О - нахождение соответствующих молекул в активном центре катализатора.

Шаблон Т0 оператора 0 равен Т0 = Т13. Во время применения оператора 0 вначале случайным образом выбирается элементарный процесс с вероятностью, соответствующей его скорости протекания: процесс адсорбции СО, адсорбции О2 и реакции СО + О = СО2. Затем выполняются действия по изменению состояний клеток из соседства Т13 в соответствии с выбранным элементарным процессом. Эти действия подробно описаны в работе [7]. Стоит заметить лишь то, что большую часть кода, реализующего оператор перехода, составляют условные переходы, присваивания и целочисленные операции.

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

Диффузия вводится таким же способом, как это делалось в более поздних работах по моделированию поверхностных каталитических реакций методом Монте-Карло (см., например, [1]).

4. Различия в поведении режимов

В работах [4-6] на трёх физико-химических моделях показывается, что изменение режима с асинхронного а на блочно-синхронный Р не вносит существенных изменений в общую картину эволюции КА. Как это будет показано далее, не для всех моделей изменение режима не изменяет эволюцию КА.

Для анализа степени подобия эволюций клеточных автоматов КА а , КА „ и КА как сто-

а ’ № У N

хастического объекта далее используется следующий подход: по эволюциям О*а, ОР^ и Оу^

вычисляются характеристики f (Оа ), f (ОР^ ) и f (О*), которые являются случайными величинами, после чего сравниваются их математические ожидания. Далее математическое ожидание

аэ 1 „мис*

Ьэ13

Ьв25

' Ьв49

еЬз13

еЬэ25

. еЬз49 г /

Ж

'У ' ,/ /'

ж '' /V у? У

У/' ч \

О 50 100 150 200 250 300 350 400 450 500

Номер итерации

Рис. 3. Значение характеристики /1СО для модели ZGB без диффузии для первых 500 итераций, t < 500 . Графики as, bs13, bs25, bs49, ebs13, ebs25 и ebs49 соответствуют значению характеристики /1СО при режимах а, Р13, Р25, Р49, У13, У 25 и У 49

Таблица 1

Численные оценки математического ожидания среднеквадратичных отклонений gtY при ? = 100 и варьирующихся Y и коэффициенте kdif . Значение kdif = 0 соответствует оригинальной модели ZGB, значение kdif = 1 - модели ZGB с введённой диффузией (скорость протекания процесса диффузии в этом случае равна сумме скоростей остальных элементарных процессов)

Y = Plз У = Р 25 У = Р 49 у = У1з У = У 25 У = У 49

= 0 0.0067 0.0039 0.0026 0.0054 0.001 0.0008

= 1 0.0028 0.0021 0.0015 0.0019 0.0006 0.0004

характеристики для различных режимов будем обозначать через mY (f), где У є (а, РК, уК }. Численную оценку величины mY далее будем обозначать через mY . Для численной оценки mY генерируется такое количество эволюций ОУ , что mY є (т'У - 0.001, m'Y + 0.001) с вероятностью больше 0.99.

Наиболее часто употребима следующая характеристика:

| (х, a} є О, |

У,,. (о*) = ■

(15)

то есть /а (О ) равно доле клеток с состоянием а в клеточном массиве после исполнения 1 итераций. С помощью этой характеристики зачастую очень трудно отличить эволюции с различными режимами.

На рис. 3 представлено значение характеристики У1СО для модели ZGB без диффузии. Видно, что графики, соответствующие режимам

Р13 и Р25, существенно отклоняются от графика, соответствующего асинхронному режиму. При введении в модель диффузии отличить графики невозможно.

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

*) = | (х,а} є О, : (х + Ах,а) є О,| ^6)

1 ,Ах ( ) И1И1 ’

то есть У Ах (О*) равно доле пар клеток с координатами х их + Ах в одинаковых состояниях в клеточном массиве после исполнения 1 итераций. Предлагаемая характеристика /1Ах содержит в себе информацию не только о количестве, но и о пространственном расположении состояний в отличие от часто используемой характеристики /а . В табл. 1 представлены результаты численной оценки математического ожидания среднеквадратичных отклонений

Таблица 2

Параметры используемых графических ускорителей

GTX 28G GTX 68G

Тактовая частота (ГГц) 1.3 1.1

Мультипроцессоров (шт.) 3G 8

Потоковых процессоров (шт.) 24G 1536

Глобальная память (Мбайт) 768 4G96

Разделяемая память (Кбайт) 26 48

Текстурный кэш (байт) 8192 8192

Кэш (Кбайт) - 48

Регистры (шт.) 16384 32768

Планируемое число потоков На мультипроцессоре 1G24 l536

при kdiff е {0,1}. Для численной оценки gtY, обозначаемой как g' Y, генерируется такое количество эволюций Q* и QY , что gtY е (g'Y - 0.001, g'Y + 0.001) с вероятностью больше 0.99.

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

1. Эволюции Qp3 и Q существенно отличаются от Qa по обеим характеристикам

f,,a (15) и f,M (16) При kiiff =0;

2. Эволюции Q*,QP ,QP ,Q* и Q* сла-

a ’ р25 ’ р49 ’ У 25 У49

бо различимы с точки зрения первой характеристики f, a(15) при кт = 0 ;

3. Эволюции Q„, QB , QB , QB , Q,, , Q,, и

a ? p13 ’ p25 ’ P49 ’ y13 ’ y25

Q практически неразличимы с точки зрения первой характеристики fta (15) при к diff = 1;

4. Эволюции Q и Q практически неотличимы от эволюции Qa по всем представленным характеристикам включая gtY (17) при всех значениях kdiff.

Перечисленные результаты, наблюдаемые автором и на многих других моделях, обобщаются в следующие два очень важных утверждения:

1. КА модели с диффузией существенно лучше поддаются моделированию блочносинхронными режимами.

2. Предложенные автором расширенные блочно-синхронные режимы расширяют возможности эффективного параллельного исполнения КА моделей.

5. Реализация на CUDA

CUDA [10] расшифровывается как Compute Unified Device Architecture (унифицированная

архитектура вычислительных устройств), описывает архитектуру аппаратной части и программного обеспечения. CUDA создана компанией Nvidia в 2007 году, позволяет разрабатывать программы общего назначения для графических ускорителей. Для тестирования использовались графические ускорители Nvidia GTX 280 и Nvidia GTX 680 (Kepler), их характеристики представлены в табл. 2.

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

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

Параллельный алгоритм. Программа, исполняемая на центральном процессоре, используя генератор псевдослучайных чисел, выбирает St из семейства S, после чего запускает функцию на графическом ускорителе, исполняющую одну стадию. Номер подмножества i передаётся на графический ускоритель через аргумент запускаемой функции. Число порождаемых потоков на графическом ускорителе равно числу клеток, к которым применяется оператор 0 на текущей стадии, | St |. По номеру подмножества

1 и своему номеру каждый поток в соответствии с формулами (9)—(14) вычисляет координаты клетки, к которой этот поток будет применять оператор 0. После применения оператора к клетке поток завершает свою работу. После завершения всех порождённых потоков с центрального процессора запускается следующая стадия.

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

Таблица 3

Результаты тестирования при размерах клеточной области в 1000 х 1000, 2000 х 2000 и 8000 х 8000 клеток на графических ускорителях GTX 280 и GTX 680. Показано ускорение по отношению ко времени работы последовательной программы на одном ядре процессора Core i7

1000 х 1000 2000 х 2000 8000 х 8000

Ускорение GTX 280/Core i7 х25 х31 х35

Ускорение GTX 680/Core i7 х48 х60 х65

больше 700 х 700 . Именно для таких размеров и требуется распараллеливание.

В табл. 3 представлены результаты тестирования реализации описанного алгоритма на современных графических ускорителях при шаблоне T = T13. Использование других шаблонов T25 и T49 влияет на время исполнения незначительно.

По результатам, приведённым в табл. 3 и работе [11], можно сказать, что один рядовой графический ускоритель GTX 280 на тестируемой задаче по производительности заменяет мощную 32-ядерную вычислительную систему над общей памятью (4 процессора Intel Xeon X7560 2.2Ghz, была доступна автору в рамках проекта Intel Manycore Testing Lab), а новый графический ускоритель GTX 680 заменит мощную 64-ядерную вычислительную систему (8 процессоров Intel Xeon X7560 2.2 Ghz, один узел в кластере Новосибирского государственного университета [12]).

Заключение

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

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

Исследование выполнено по Программе фундаментальных исследований Президиума РАН, проект 15-9; поддержано Междисциплинарным Интеграционным проектом СО РАН 47 и РФФИ в рамках научныгх проектов 11-01-00567a и 12-01-31455.

Список литературы

1. Elokhin V.I., Latkin E.I., Matveev A.V., and Go-rodetskii V.V. Application of Statistical Lattice Models to the Analysis of Oscillatory and Autowave Processes on the Reaction of Carbon Monoxide Oxidation over Platinum and Palladium Surfaces // Kinetics and Catalysis. V. 14. Issue 5. P. 692-700.

2. Overeinder B.J., Sloot P.M.A. Extensions to Time-Warp Parallel Simulation for Spatial Decomposed Applications // Proc. of the 4th United Kingdom Simulation Society Conference (UKSim 99) / Ed. by D. Al-Dabass, R. Cheng. Cambridge, UK, 1999. P. 67-73.

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

3. Lubachevsky B. Efficient parallel simulation of asynchronous cellular arrays // Complex Systems. 1987. V. 1. P. 1099-1123.

4. Bandman O.L. Parallel Simulation of Asynchronous Cellular Automata Evolution. ACRI 2006, LNCS 4173. Р. 41-47.

5. Nedea S.V., Lukkien J.J., Hilbers P.A.J., Jansen A.P.J. Methods for Parallel Simulations of Surface Reactions // Proc. of the 17th International Symposium on Parallel and Distributed Processing, 2003.

6. Sharifulina A., Elokhin V. Simulation of Heterogeneous Catalytic Reaction by Asynchronous Cellular Automata on Multicomputer. PaCT 2011. Р. 204-209.

7. Ziff R.M., Gulari E., Barshad Y. Kinetic phase transitions in an irreversible surface-reaction model // Phys. Rev. Lett. 1986. V. 56. Issue 24. Р. 2553-2556.

8. von Neumann J. Theory of self reproducing automata // University of Illinois Urbana, USA, 1966.

9. Kalgin K.V. Comparative Study of Parallel Algorithms for Asynchronous Cellular Automata Simulation on Different Computer Architectures. ACRI-2010, LNCS-6350. 2010. Р. 399-408.

10. NVIDIA CUDA Programming Guide. http://www. nvidia .com/obj ect/cuda\_get.html

11. Калгин К.В. Параллельная реализация асинхронных клеточных автоматов на 32-ядерной вычислительной системе // Сиб. журн. вычисл. матем. 2012. Т. 15. № 1. Р. 55-65.

12. Вычислительный кластер Новосибирского государственного университета, http://www.nusc.ru.

CELLULAR AUTOMATA SIMULATION OF NANOSCALE PHYSICO-CHEMICAL PROCESSES

ON GRAPHICS PROCESSING UNITS

K. V. Kalgin

Simulation of nanoscale catalytic physico-chemical processes by the kinetic Monte-Carlo (KMC) method requires a sufficiently large computational power. Creation of «exact» parallel simulation algorithms for GPUs is quite problematic. In this paper, we study the possibility of applying cellular automata block-synchronous modes to KMC method simulation. New block-synchronous modes are proposed which are implemented on a GPU with high efficiency and with a higher fidelity of original model dynamics reproduction.

Keywords: cellular automaton, graphics processing unit (GPU), block-synchronous mode, asynchronous mode.

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