Использование технологии CUDA для ускорения вычислений в задачах химической кинетики
Рассмотрена задача химической кинетики, проведен расчет изменений концентраций веществ в реакциях по времени и созданию массивно-кинетического инструментария для решения задачи с использованием современных технологий распараллеливания. Описана математическая модель изменения концентраций веществ в с...
Saved in:
| Published in: | Кибернетика и системный анализ |
|---|---|
| Date: | 2020 |
| Main Authors: | , , , |
| Format: | Article |
| Language: | Russian |
| Published: |
Інститут кібернетики ім. В.М. Глушкова НАН України
2020
|
| Subjects: | |
| Online Access: | https://nasplib.isofts.kiev.ua/handle/123456789/190443 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Cite this: | Использование технологии CUDA для ускорения вычислений в задачах химической кинетики / М.C. Сарсембаев, Б.А. Урмашев, Н. Младенович, B.А. Заславский // Кибернетика и системный анализ. — 2020. — Т. 56, № 4. — С. 185–195. — Бібліогр.: 12 назв. — рос. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1860245893100339200 |
|---|---|
| author | Сарсембаев, М.C. Урмашев, Б.А. Младенович, Н. Заславский, B.А. |
| author_facet | Сарсембаев, М.C. Урмашев, Б.А. Младенович, Н. Заславский, B.А. |
| citation_txt | Использование технологии CUDA для ускорения вычислений в задачах химической кинетики / М.C. Сарсембаев, Б.А. Урмашев, Н. Младенович, B.А. Заславский // Кибернетика и системный анализ. — 2020. — Т. 56, № 4. — С. 185–195. — Бібліогр.: 12 назв. — рос. |
| collection | DSpace DC |
| container_title | Кибернетика и системный анализ |
| description | Рассмотрена задача химической кинетики, проведен расчет изменений концентраций веществ в реакциях по времени и созданию массивно-кинетического инструментария для решения задачи с использованием современных технологий распараллеливания. Описана математическая модель изменения концентраций веществ в системе с одномерным приближением и возможностью ускорения вычислений с использованием технологией CUDA. Расчет на графических процессорах NVIDIA показал, что с увеличением числа химический реакций время вычисления намного уменьшается по сравнению со временем расчета на центральных процессорах
Розглянуто задачу хімічної кінетики, проведено розрахунок змін концентрації речовин в реакціях за часом і створення масивно-кінетичного інструментарію для розв'язання задачі з використанням сучасних технологій розпаралелювання. Описано математичну модель зміни концентрацій речовин в системі з одновимірним наближенням і можливістю прискорення обчислень з використанням технології CUDA. Розрахунок на графічних процесорах NVIDIA показав, що зі збільшенням кількості хімічних реакцій час обчислення набагато зменшується в порівнянні з часом розрахунку на центральних процесорах.
The paper focuses on the problem of chemical kinetics, calculation of changes in the concentration of substances in the reactions over time, and creation of a mass kinetic solver to solve the problem using modern parallelization technologies. A mathematical model of variation in the concentration of substances in a system with a one-dimensional approximation and the possibility of accelerating the calculations using the CUDA technology are described. The calculation performed on NVIDIA graphic processor showed that an increase in the number of responses much reduces the computing time as compared with the computing time on the central processors.
|
| first_indexed | 2025-12-07T18:36:41Z |
| format | Article |
| fulltext |
ÓÄÊ 004.2
Ì.C. ÑÀÐÑÅÌÁÀÅÂ, Á.À. ÓÐÌÀØÅÂ, Í. ÌËÀÄÅÍÎÂÈ×, B.À. ÇÀÑËÀÂÑÊÈÉ
ÈÑÏÎËÜÇÎÂÀÍÈÅ ÒÅÕÍÎËÎÃÈÈ CUDA ÄËß ÓÑÊÎÐÅÍÈß
ÂÛ×ÈÑËÅÍÈÉ Â ÇÀÄÀ×ÀÕ ÕÈÌÈ×ÅÑÊÎÉ ÊÈÍÅÒÈÊÈ
Àííîòàöèÿ. Ðàññìîòðåíà çàäà÷à õèìè÷åñêîé êèíåòèêè, ïðîâåäåí ðàñ÷åò èç-
ìåíåíèé êîíöåíòðàöèè âåùåñòâ â ðåàêöèÿõ ïî âðåìåíè è ñîçäàíèþ ìàññèâ-
íî-êèíåòè÷åñêîãî èíñòðóìåíòàðèÿ äëÿ ðåøåíèÿ çàäà÷è ñ èñïîëüçîâàíèåì ñî-
âðåìåííûõ òåõíîëîãèé ðàñïàðàëëåëèâàíèÿ. Îïèñàíà ìàòåìàòè÷åñêàÿ ìîäåëü
èçìåíåíèÿ êîíöåíòðàöèé âåùåñòâ â ñèñòåìå ñ îäíîìåðíûì ïðèáëèæåíèåì è
âîçìîæíîñòüþ óñêîðåíèÿ âû÷èñëåíèé ñ èñïîëüçîâàíèåì òåõíîëîãèè CUDA.
Ðàñ÷åò íà ãðàôè÷åñêèõ ïðîöåññîðàõ NVIDIA ïîêàçàë, ÷òî ñ óâåëè÷åíèåì
÷èñëà õèìè÷åñêèõ ðåàêöèé âðåìÿ âû÷èñëåíèÿ íàìíîãî óìåíüøàåòñÿ ïî
ñðàâíåíèþ ñî âðåìåíåì ðàñ÷åòà íà öåíòðàëüíûõ ïðîöåññîðàõ.
Êëþ÷åâûå ñëîâà: ãîðåíèå, ìåõàíèçìû ãîðåíèÿ, ïàðàëëåëüíîå âû÷èñëåíèå,
ãðàôè÷åñêèå ïðîöåññîðû, CUDA, ìåòîä Ðóíãå–Êóòòû.
ÂÂÅÄÅÍÈÅ
Òåíäåíöèÿ ê èçó÷åíèþ ïðîöåññà ãîðåíèÿ çàëîæåíà ñ äàâíèõ âðåìåí.  íàñòîÿùåå
âðåìÿ îêîëî 90% âñåé ýíåðãèè îáåñïå÷èâàåòñÿ èìåííî ïðîöåññàìè ãîðåíèÿ.  ïðî-
øëîì èññëåäîâàíèå ïðîöåññà ãîðåíèÿ áûëî íàïðàâëåíî ãëàâíûì îáðàçîì íà èçó÷å-
íèå ìåõàíèêè ñïëîøíîé ñðåäû, âêëþ÷àÿ òåïëîâûäåëåíèå çà ñ÷åò õèìè÷åñêèõ ðåàê-
öèé. ×àñòî òàêîå òåïëîâûäåëåíèå îïèñûâàëîñü ñ èñïîëüçîâàíèåì òåðìîäèíàìèêè,
÷òî ïðåäïîëàãàëî áåñêîíå÷íî áûñòðûå õèìè÷åñêèå ðåàêöèè.  îïðåäåëåííîé ñòåïå-
íè ïîäîáíûé ïîäõîä îêàçàëñÿ ïðîäóêòèâíûì äëÿ îïèñàíèÿ ñòàöèîíàðíûõ ïðîöåññîâ
ãîðåíèÿ. Îäíàêî ýòîãî íåäîñòàòî÷íî äëÿ ïîíèìàíèÿ ïåðåõîäíûõ ïðîöåññîâ, òàêèõ
êàê âîñïëàìåíåíèå è çàòóõàíèå, à òàêæå äëÿ îáúÿñíåíèÿ îáðàçîâàíèÿ âðåäíûõ âû-
áðîñîâ, òåì áîëåå ÷òî ïðîáëåìà îáðàçîâàíèÿ âðåäíûõ âûáðîñîâ ïðè ãîðåíèè èñêî-
ïàåìûõ òîïëèâ âñåãäà áóäåò îäíîé èç àêòóàëüíûõ çàäà÷ áóäóùåãî [1].
Ôèçè÷åñêîå îïèñàíèå ïðîöåññà ãîðåíèÿ ÿâëÿåòñÿ âåñüìà ñëîæíîé çàäà÷åé
â ñâÿçè ñ ìíîãîîáðàçèåì ÿâëåíèé, ïðîèñõîäÿùèõ îò ìîìåíòà âîñïëàìåíåíèÿ äî
ñàìîãî ïðîöåññà ãîðåíèÿ. Íåñìîòðÿ íà ïîñëåäíèå äîñòèæåíèÿ â ýòîé îáëàñòè, íå-
îáõîäèìîñòü â èçó÷åíèè ïðîöåññà ãîðåíèÿ ïðîäîëæàåò îñòàâàòüñÿ àêòóàëüíîé
ïðîáëåìîé. Ïðîöåññ ñãîðàíèÿ òîïëèâà ÿâëÿåòñÿ îñíîâíûì ïðîöåññîì, â êîòîðîì
òåïëîòà òîïëèâà ïðåâðàùàåòñÿ â ìåõàíè÷åñêóþ ðàáîòó [2, 3, 5, 6].
Èñïîëüçîâàíèå ÷èñëåííûõ ìåòîäîâ ìîäåëèðîâàíèÿ, îðèåíòèðîâàííûõ íà ïðè-
ìåíåíèå ñóïåðêîìïüþòåðîâ, çíà÷èòåëüíî ðàñøèðÿåò âîçìîæíîñòè ìàòåìàòè÷åñêî-
ãî ìîäåëèðîâàíèÿ, ïîçâîëÿÿ âêëþ÷èòü â ìîäåëü ôàêòîðû, íå ó÷èòûâàåìûå ðàíåå.
Äåòàëüíûé àíàëèç äèíàìèêè ãîðåíèÿ òîïëèâà ïðåäïîëàãàåò ñòðîãèé ó÷åò âñåõ ôè-
çè÷åñêèõ ïðîöåññîâ, â òîì ÷èñëå ïðîöåññîâ êîíâåêòèâíîãî òåïëîîáìåíà ìåæäó ãà-
çîì è ïðîäóêòàìè ãîðåíèÿ è êîíñòðóêòèâíûìè ýëåìåíòàìè îáîëî÷êè [4, 7].
 ïðîöåññå ðåàëèçàöèè ïàðàëëåëüíî-âû÷èñëèòåëüíîãî êèíåòè÷åñêîãî
èíñòðóìåíòàðèÿ äëÿ ìîäåëèðîâàíèÿ êèíåòèêè õèìè÷åñêè ðåàãèðóþùèõ ñèñòåì
äëÿ ðàçëè÷íûõ ïðèáëèæåíèé áûëî ðàçðàáîòàíî ïðîãðàììíîå îáåñïå÷åíèå «Õè-
ìè÷åñêèé êàëüêóëÿòîð», ñ èñïîëüçîâàíèåì êîòîðîãî óìåíüøàþòñÿ âðåìåííûå
è âû÷èñëèòåëüíûå çàòðàòû.
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4 185
© Ì.C. Ñàðñåìáàåâ, Á.À. Óðìàøåâ, Í. Ìëàäåíîâè÷, B.À. Çàñëàâñêèé, 2020
ÏËÀÒÔÎÐÌÀ ÏÀÐÀËËÅËÜÍÛÕ ÂÛ×ÈÑËÅÍÈÉ CUDA
Ãðàôè÷åñêèå ïðîöåññîðû äëÿ ðàñïàðàëëåëèâàíèÿ äàííûõ ïðè âû÷èñëåíèÿõ
â ïîñëåäíèå ãîäû øèðîêî èñïîëüçóþò ïðè îáðàáîòêå âèäåî è èçîáðàæåíèé,
â âû÷èñëèòåëüíîé áèîëîãèè è õèìèè, ïðè ìîäåëèðîâàíèè äèíàìèêè æèäêîñ-
òåé, âîññòàíîâëåíèè èçîáðàæåíèé, ïîëó÷åííûõ ïóòåì êîìïüþòåðíîé òîìîãðà-
ôèè, ñåéñìè÷åñêîì àíàëèçå, òðàññèðîâêå ëó÷åé è ìíîãîì äðóãîì. Èñïîëüçîâà-
íèå òàêîé òåõíîëîãèè ïàðàëëåëèçàöèè ïðè ðåøåíèè óðàâíåíèé õèìè÷åñêîé êè-
íåòèêè äàåò âîçìîæíîñòü óìåíüøèòü âðåìåííûå è âû÷èñëèòåëüíûå çàòðàòû.
CUDA (Compute Unified Device Architecture — óíèôèöèðîâàííàÿ àðõèòåêòó-
ðà âû÷èñëèòåëüíîãî óñòðîéñòâà) — ýòî àðõèòåêòóðà ïàðàëëåëüíûõ âû÷èñëåíèé
íà ãðàôè÷åñêèõ óñêîðèòåëÿõ (ãðàôè÷åñêèõ êàðòàõ) NVIDIA, ïîçâîëÿþùàÿ ñóùå-
ñòâåííî óâåëè÷èòü âû÷èñëèòåëüíóþ ïðîèçâîäèòåëüíîñòü áëàãîäàðÿ èñïîëüçîâà-
íèþ GPU (ãðàôè÷åñêèõ ïðîöåññîðîâ) [8]. Îñîáåííîñòü îáîðóäîâàíèÿ, ïîääåðæè-
âàþùåãî òåõíîëîãèþ CUDA, ýòî âîçìîæíîñòü îáåñïå÷èâàòü íà ïîðÿäîê
á�ëüøóþ ïî ñðàâíåíèþ ñ êëàñòåðàìè ïðîïóñêíóþ ñïîñîáíîñòü ïðè ðàáîòå ñ ïà-
ìÿòüþ [9]. Ýòà òåõíîëîãèÿ â ãðàôè÷åñêèõ óñêîðèòåëÿõ NVIDIA ïîÿâèëàñü, íà÷è-
íàÿ ñ âîñüìîé ñåðèè. Â ýòîì óñòðîéñòâå ðåàëèçîâàíà àðõèòåêòóðà ïàðàëëåëüíûõ
âû÷èñëåíèé, êîòîðàÿ ïðåäîñòàâëÿåò ñïåöèàëèçèðîâàííûé ïðîãðàììíûé èíòåð-
ôåéñ äëÿ íåãðàôè÷åñêèõ ïðîöåññîðîâ.
Ëîãè÷åñêèé ïðîöåññîð ñ ïîääåðæêîé CUDA ìîæíî ðàññìàòðèâàòü êàê íàáîð
ìíîãîÿäåðíûõ ïðîöåññîðîâ. Îñíîâíûìè âû÷èñëèòåëüíûìè áëîêàìè òàêèõ
âèäåî÷èïîâ ÿâëÿþòñÿ ìóëüòèïðîöåññîðû, êîòîðûå ñîñòîÿò èç âîñüìè ÿäåð, íå-
ñêîëüêèõ òûñÿ÷ 32-áèòíûõ ðåãèñòðîâ, 16 Êáàéò îáùåé ïàìÿòè, òåêñòóðíûõ è
êîíñòàíòíûõ êýøåé.
Äî îôèöèàëüíîãî ïîÿâëåíèÿ òåõíîëîãèé CUDA ïðîâîäèëèñü ýêñïåðèìåíòû
ïî èñïîëüçîâàíèþ ãðàôè÷åñêèõ êàðò íàñòîëüíûõ ñèñòåì äëÿ ðåàëèçàöèè ïîòîêî-
âûõ âû÷èñëåíèé. Òàê, ñ ïîìîùüþ ãðàôè÷åñêèõ ïðîãðàììíî-àïïàðàòíûõ èíòåð-
ôåéñîâ è ïðåäñòàâëåíèÿ äàííûõ â êà÷åñòâå ìàññèâîâ òåêñòóð óäàëîñü äîáèòüñÿ
òðåõêðàòíîãî óâåëè÷åíèÿ ïðîèçâîäèòåëüíîñòè â ýêñïåðèìåíòàõ. Îòìåòèì òàêæå,
÷òî îäíèì èç êëþ÷åâûõ äîñòîèíñòâ òåõíîëîãèè CUDA ÿâëÿåòñÿ îòñóòñòâèå íåîáõî-
äèìîñòè â ðàçðàáîòêå ïðîãðàìì — òèïîâ äàííûõ è ïðèíöèïîâ ïîñòðîåíèÿ âû-
÷èñëåíèé, õàðàêòåðíûõ èñêëþ÷èòåëüíî äëÿ îáðàáîòêè âåðøèí è ïèêñåëåé ïðè
ïîñòðîåíèè êàäðà.
Ðåàëèçàöèÿ âû÷èñëåíèé â ñî÷åòàíèè CUDA è OpenMP è ïàðàëëåëèçìà öåí-
òðàëüíûõ ïðîöåññîðîâ íà óðîâíå ÿçûêà ïðîãðàììèðîâàíèÿ è ïðîãðàììíî-àïïà-
ðàòíîãî èíòåðôåéñà ñîçäàåò åùå îäèí óðîâåíü ïðèðîñòà ïðîèçâîäèòåëüíîñòè.
Ïóáëèêàöèè, êàñàþùèåñÿ íå òîëüêî CUDA, íî è ïðåäûäóùèõ àïïàðàòíûõ
ðåàëèçàöèé ïàðàëëåëüíûõ âû÷èñëåíèé õèìè÷åñêèõ çàäà÷ íà ãðàôè÷åñêèõ êàðòàõ,
äåìîíñòðèðóþò óñêîðåíèå â ïðåäåëàõ îò äâóõ äî 15 ðàç [10–12].
ÌÀÒÅÌÀÒÈ×ÅÑÊÀß ÏÎÑÒÀÍÎÂÊÀ ÇÀÄÀ×È
Ðàññìîòðèì çàäà÷ó õèìè÷åñêîé êèíåòèêè äëÿ âû÷èñëåíèÿ èçìåíåíèÿ êîíöåí-
òðàöèé âåùåñòâ â õîäå ðåàêöèè, çàêîí ñêîðîñòè õèìè÷åñêîé ðåàêöèè íà ïðè-
ìåðå ðåàêöèè, çàïèñàííîé â îáùåì âèäå:
À À À À À À1 2 3 4 5 6� � �� � �� � � �k
, (1)
ãäå À À À1 2 3, , , … — êîìïîíåíòû, ó÷àñòâóþùèå â ðåàêöèè; k — êîíñòàíòà
186 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4
ñêîðîñòè. Ñêîðîñòü ðåàêöèé ìîæíî çàïèñàòü ñëåäóþùèì îáðàçîì:
d
dt
kC C Ca a aÑ1
1
1
2
2
3
3� � ... (2)
Çäåñü C a
1
1, C a
2
2 , C a
3
3 , ... — êîíöåíòðàöèè êîìïîíåíòîâ, ãäå a a a1 2 3, � — ïî-
ðÿäêè ðåàêöèé ïî îòíîøåíèþ ê êîìïîíåíòàì À À À1 2 3, , , … ñîîòâåòñòâåííî.
Ðàññìîòðèì ïðèìåð ïîñòðîåíèÿ óðàâíåíèÿ äëÿ îêèñëåíèÿ èîíà âîäîðîäà:
1) H O O OH� � ��2 , 2) O H H OH� � ��2 , 3) OH H H O H� � ��2 2 ,
4 22)O H O OH� �� , 5) H N H N2 2 22� � �� , 6) H OH N H O N� � � ��2 2 2 ,
7 2 2 2) H HO H O� � �� ,
ãäå H 2 — âîäîðîä, O2 — êèñëîðîä, N 2 — àçîò.
Èñõîäÿ èç ôîðìóëû (2) îïðåäåëèì èçìåíåíèå êàæäîãî êîìïîíåíòà ñèñòåìû
ïî âðåìåíè â îáîáùåííîì âèäå ñëåäóþùèì îáðàçîì:
d
dt
k C k Ck
ik i j
j
Nc
i j
j
Nc
ij ijÑ
� � �
�
�
�
�
�
� �
�
�
�
� �
� ��
� �
1 1
� � �
�
�
�
�
�
�
�
�
�
�
� �
�
�
�
� �
� ��
� �
ik i j
j
Nc
i j
j
Nc
k C k Cij ij
1 1 �
�
�
�
�
i
Nr
1
, (3)
ãäå Ñk — ýëåìåíò, êîíöåíòðàöèÿ êîòîðîãî îïðåäåëÿåòñÿ ïî âðåìåíè, Nr —
÷èñëî ðåàêöèé, Nc — ÷èñëî êîìïîíåíò, � ik — ñòåõèîìåòðè÷åñêèé êîýôôè-
öèåíò i-é ðåàêöèè j-ãî ýëåìåíòà. Êîãäà ðåàãåíò Ñj â ïðîöåññå ðåàêöèè ðàñùåï-
ëÿåòñÿ, òî ñòåõèîìåòðè÷åñêèé êîýôôèöåíò âû÷èòàåòñÿ (â ôîðìóëå (3) îáîçíà-
÷àåòñÿ êàê � ik
� ); åñëè â ïðîöåññå ðåàêöèè ôîðìèðóåòñÿ ïðîäóêò ðåàêöèè Ñj ,
òî ñîîòâåòñòâåííî �
ik
� ðàâíîñèëüíî ñëîæåíèþ � ik :
Ñ1 2� H , Ñ2 2�O , Ñ3 2� H O, Ñ4 �OH ,
(4)
Ñ5 � H , Ñ6 2� HO , Ñ7 �O, Ñ8 2� N .
Ïîäñòàâëÿÿ ñîîòâåòñòâóþùèå èíäåêñû, ïîëó÷àåì ñèñòåìó äèôôåðåíöèàëü-
íûõ óðàâíåíèè äëÿ êàæäîãî êîìïîíåíòà:
d
dt
k C C k C C k C C k C C k C C k C
Ñ1
2 1 7 2 4 5 3 1 4 3 3 5 5 1 8 5 5
2� � � � � � �� � � C8 �
� � �k C C k C C7 5 6 7 1 2 ,
d
dt
k C C k C C k C C k C C
Ñ2
1 2 5 1 4 7 7 5 6 7 1 2� � � � �� � , (5)
d
dt
k C C k C C k C C k C k C C C k C C
Ñ3
3 1 4 3 3 5 4 3 7 4 4
2
6 4 5 8 6 3� � � � � �� � � 8 ,
d
dt
k C C k C C k C C k C C k C C k C C
Ñ4
1 2 5 1 4 7 2 1 7 2 4 5 3 1 4 3 3 5� � � � � �� � � �
� � � � � �� � �2 2 2 24 3 7 4 4
2
5 1 8 5 5
2
8 6 4 5 8 6 3k C C k C k C C k C C k C C C k C C8 ,
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4 187
d
dt
k C C k C C k C C k C C k C C k C C
Ñ5
1 2 5 1 4 7 2 1 7 2 4 5 3 1 4 3 3� � � � � � �� � � 5 �
� � � � � �� � �2 25 1 8 5 5
2
8 6 4 5 8 6 3 8 7 5 6 7 1 2k C C k C C k C C C k C C k C C k C C ,
d
dt
k C C k C C
Ñ6
7 5 6 7 1 2� � � � ,
d
dt
k C C k C C k C C k C C k C C k C
Ñ7
1 2 5 1 4 7 2 1 7 2 4 5 4 3 7 4 4
2� � � � � �� � � ,
d
dt
Ñ8 0� .
Ïîñêîëüêó èçìåíåíèå êîíöåíòðàöèè âåùåñòâ â òàêîé ñèñòåìå ïî âðåìåíè íå-
ïîñðåäñòâåííî çàâèñèò îò ñêîðîñòè äëèòåëüíîñòè ðåàêöèè, íàì ïîòðåáóåòñÿ
îïðåäåëèòü ñêîðîñòè ïðÿìîé è îáðàòíîé ðåàêöèé:
� � ��� �� � � �ki k
k
K
ki k
k
K
�� ��
( , , )i I� �1 . (6)
Çäåñü ñòåõèîìåòðè÷åñêèå êîýôôèöèåíòû � ki — öåëûå ÷èñëà; � k — õèìè÷åñ-
êèé ñèìâîë k-ãî âåùåñòâà; �� ki — ñòåõèîìåòðè÷åñêèå êîýôôèöèåíòû ðåàãåí-
òîâ; ��� ki — ñòåõèîìåòðè÷åñêèå êîýôôèöèåíòû ïðîäóêòîâ. Îáû÷íî â ýëåìåí-
òàðíûõ ðåàêöèÿõ ó÷àñòâóþò òðè èëè ÷åòûðå âåùåñòâà.
Ñêîðîñòü îáðàçîâàíèÿ �� k k-ãî âåùåñòâà âû÷èñëÿåòñÿ ïî ôîðìóëå
�� �k ki i
i
I
q�
�
�
1
( , , )k K� �1 , (7)
ãäå � � � �ki ki ki�� � � .
Ñêîðîñòü èçìåíåíèÿ äëèòåëüíîñòè i-é ðåàêöèè îïðåäåëÿåòñÿ ïî ôîðìóëå
q k X k Xi fi k
k
K
ri k
k
K
ki ki� ���
�
�
�
� �[ ] [ ]
� �
1 1
. (8)
Çäåñü [ ]X k — ìîëüíàÿ êîíöåíòðàöèÿ k-ãî âåùåñòâà; k fi è kri — ñêîðîñòü ïðÿ-
ìîé è îáðàòíîé ðåàêöèé ñîîòâåòñòâåííî. Èç ýòîãî ñîîòíîøåíèÿ ïîëó÷èì êîí-
ñòàíòó ðàâíîâåñèÿ
K
k
k
c
fi
ri
i
� . (9)
Ñêîðîñòü ïðÿìîé ðåàêöèè îïðåäåëÿåòñÿ ôîðìóëîé Àððåíèóñà
k A T
E
R T
fi i
i
c
i�
��
�
��
�
�
��
�
exp , (10)
ãäå R — óíèâåðñàëüíàÿ ãàçîâàÿ ïîñòîÿííàÿ; Ai — ïðåäýêñïîíåíöèàëüíûé
ìíîæèòåëü, êîòîðûé íå çàâèñèò îò òåìïåðàòóðû, à îïðåäåëÿåòñÿ òîëüêî âèäîì
ðåàêöèè; � i — òåìïåðàòóðíûé ýêñïîíåíò; Ei — ýíåðãèÿ àêòèâàöèè i-é ðåàê-
öèè, êîòîðóþ ìîæíî îõàðàêòåðèçîâàòü êàê íåêîòîðóþ ïîðîãîâóþ ýíåðãèþ.
Òàê, åñëè ýíåðãèÿ ñòàëêèâàþùèõñÿ ÷àñòèö ìåíüøå Ei , òî ïðè èõ ñòîëêíîâåíèè
ðåàêöèè íå ïðîèçîéäåò; åñëè ýíåðãèÿ ïðåâûøàåò Ei , òî ðåàêöèÿ ïðîèçîéäåò.
Ýíåðãèÿ àêòèâàöèè íå çàâèñèò îò òåìïåðàòóðû.
188 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4
Ãðàôè÷åñêàÿ çàâèñèìîñòü k Tfi ( )
ïðåäñòàâëåíà íà ðèñ. 1.
Ïðè íèçêèõ òåìïåðàòóðàõ õèìè-
÷åñêèå ðåàêöèè ïðîòåêàþò î÷åíü ìåä-
ëåííî. Ïðè î÷åíü âûñîêèõ òåìïåðàòó-
ðàõ êîíñòàíòà ñêîðîñòè ñòðåìèòñÿ ê
ïðåäåëüíîìó çíà÷åíèþ: k Afi i� . Ýòî
ñâèäåòåëüñòâóåò î òîì, ÷òî âñå ìîëå-
êóëû ÿâëÿþòñÿ õèìè÷åñêè àêòèâíûìè
è êàæäîå ñòîëêíîâåíèå ïðèâîäèò ê
ðåàêöèè.
Ñêîðîñòü îáðàòíîé ðåàêöèè îïðå-
äåëÿåòñÿ ïî ôîðìóëå
k
k
K
ri
f i
ci
� , (11)
ãäå
K K
P
RT
c p
atm
i i
ki
k
K
�
�
�
�
�
�
�
�
�
�
1 . (12)
Êîýôôèöèåíò ðàâíîâåñèÿ îïðåäåëÿåòñÿ ïî ôîðìóëå
K
S
R
H
RT
p
i i
i
� �
�
�
�
�
�
�
�
�
exp
� �0 0
, (13)
ãäå �S i
0 — ýíòðîïèÿ, �H i
0 — ýíòàëüïèÿ âåùåñòâ, îïèñûâàþùàÿ èçìåíåíèå, êîòî-
ðîå ïðîèñõîäèò ïðè ïåðåõîäå ïîëíîñòüþ îò ðåàãåíòîâ ê ïðîäóêòàì â i-é ðåàêöèè:
�S
R
S
R
i
ki
k
K
k
0
1
0
�
�
� � , (14)
�H
RT
H
RT
i
ki
k
K
k
0
1
0
�
�
� � . (15)
 ïðîãðàììíîì êîìïëåêñå Chemkin ýòè êîýôôèöèåíòû ðàçäåëåíû íà äâå
ãðóïïû ñîãëàñíî äâóì ïðîìåæóòêàì òåìïåðàòóðíîãî èíòåðâàëà (îáëàñòü íèçêîé
è îáëàñòü âûñîêîé òåìïåðàòóðû).  ýòîì ñëó÷àå äëÿ âû÷èñëåíèÿ òåðìîäèíàìè-
÷åñêèõ ñâîéñòâ (ýíòàëüïèé è ýíòðîïèé) äàííîãî âåùåñòâà èñïîëüçóþòñÿ
ñëåäóþùèå ôîðìóëû:
H
RT
a
a
T
a
T
a
T
a
T
ak
k
k
k
k
k
k
k
k
k
k
k
0
1
2 3 2 4 3 5 4 6
2 3 4 5 6
� � � � � � , (16)
S
R
a T a T
a
T
a
T
a
T ak
k k k k
k
k
k
k
k
k k
0
1 2
3 2 4 3 5 4
7
2 3 4
� � � � � �ln ( ) . (17)
Êîýôôèöèåíò ai äëÿ k-ãî âåùåñòâà âçÿò èç ôàéëà òåðìîäèíàìè÷åñêèõ äàí-
íûõ âåùåñòâ (ðèñ. 2).
Ïîñëå îïðåäåëåíèÿ ñêîðîñòåé èçìåíåíèÿ âåùåñòâ â ðåàêöèè ðåøàåì âûøå-
óêàçàííóþ ñèñòåìó äèôôåðåíöèàëüíûõ óðàâíåíèé. Äàííàÿ ôîðìóëèðîâêà
îïðåäåëåíèÿ îáðàòíîé ñêîðîñòè ðåàêöèè îáû÷íî íå ïðèìåíÿåòñÿ äëÿ ðåàêöèè,
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4 189
Ðèñ. 1. Ãðàôè÷åñêàÿ çàâèñèìîñòü k Tfi ( )
kfi
Ê
î
í
ñò
àí
òà
ñê
î
ð
î
ñò
è
T
kfi
Ai
ïðîõîäÿùåé ñ ó÷àñòèåì ýëåêòðîíîâ. Äëÿ ðåøåíèÿ òàêèõ çàäà÷ èñïîëüçóåòñÿ
óðàâíåíèå Ñàõà [1].
ÌÅÒÎÄÛ È ÀËÃÎÐÈÒÌÛ ÐÅØÅÍÈß ÑÈÑÒÅÌÛ ÄÈÔÔÅÐÅÍÖÈÀËÜÍÛÕ ÓÐÀÂÍÅÍÈÉ
Äëÿ ìîäåëèðîâàíèÿ êèíåòèêè õèìè÷åñêèõ ðåàãèðóþùèõ ñèñòåì èñïîëüçóåòñÿ
ìåòîä Ðóíãå–Êóòòû 4-ãî è 5-ãî ïîðÿäêîâ. Ñ ïîìîùüþ ýòîãî ìåòîäà áûë íà-
ïèñàí êîä ïðîãðàììû íà ÿçûêå Ñ++ äëÿ ïîñëåäîâàòåëüíîãî âû÷èñëåíèÿ íà
öåíòðàëüíîì ïðîöåññîðå, è äëÿ ïàðàëëåëüíîãî âû÷èñëåíèÿ èñïîëüçîâàíà òåõ-
íîëîãèÿ CUDA.
Àëãîðèòì âû÷èñëåíèÿ èçìåíåíèÿ êîíöåíòðàöèè ïî ìåòîäó Ðóíãå–Êóòòû
4–ãî è 5–ãî ïîðÿäêîâ.
1. Âûäåëåíèå ïàìÿòè äëÿ ìàññèâîâ.
2. ×òåíèå âõîäíûõ äàííûõ èç ôàéëà (äàííûå î ïðÿìûõ è îáðàòíûõ ñêîðî-
ñòÿõ ðåàêöèè, äàííûå î êîíöåíòðàöèè, êîýôôèöèåíòû ëåâîé è ïðàâîé ìàòðèö
ðåàêöèîííîãî ìåõàíèçìà).
3. Âû÷èñëåíèå èçìåíåíèé êîíöåíòðàöèè äëÿ êàæäîãî ýëåìåíòà ðåàêöèîííî-
ãî ìåõàíèçìà â çàäàííîé âðåìåííîé òî÷êå.
4. Çàïèñü íîâûõ çíà÷åíèé êîíöåíòðàöèé â ôàéë.
5. Ïðîâåðêà âðåìåíè âû÷èñëåíèÿ: åñëè âðåìÿ íà äàííîì øàãå ìåíüøå, ÷åì
îáùåå âðåìÿ âû÷èñëåíèé, òî âîçâðàùàåìñÿ ê ï. 3; â ïðîòèâíîì ñëó÷àå îñòàíàâëè-
âàåì âû÷èñëåíèå.
Àëãîðèòì ðàñïàðàëëåëèâàíèÿ äàííûõ ïðè âû÷èñëåíèè íà ãðàôè÷åñêîì
óñòðîéñòâå ïî ìåòîäó Ðóíãå–Êóòòû 4-ãî è 5-ãî ïîðÿäêîâ.
1. ×òåíèå âõîäíûõ äàííûõ èç ôàéëà (äàííûå î ïðÿìûõ è îáðàòíûõ ñêîðî-
ñòÿõ ðåàêöèè, äàííûå î êîíöåíòðàöèè, êîýôôèöèåíòû ëåâîé è ïðàâîé ìàòðèö
ðåàêöèîííîãî ìåõàíèçìà).
2. Âûäåëåíèå ïàìÿòè íà ãðàôè÷åñêîì óñòðîéñòâå äëÿ êîïèðîâàíèÿ âõîäíûõ
äàííûõ.
3. Êîïèðîâàíèå äàííûõ èç îïåðàòèâíîé ïàìÿòè â ïàìÿòü ãðàôè÷åñêîãî
ïðîöåññîðà.
4. Îïðåäåëåíèå ÷èñëà íèòåé íà îäíîì áëîêå è ÷èñëà áëîêîâ íà ñåòêå.
190 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4
Ðèñ. 2. Ñâÿçü, îïðåäåëÿþùàÿ ìåñòî òåðìîäèíàìè÷åñêèõ äàííûõ âåùåñòâ â ôàéëå Chemkin
5. Âû÷èñëåíèå èçìåíåíèÿ êîíöåíòðàöèè äëÿ êàæäîãî ýëåìåíòà ðåàêöèîííî-
ãî ìåõàíèçìà â çàäàííîé âðåìåííîé òî÷êå:
1) âûçîâ ôóíêöèè âû÷èñëåíèÿ íà ãðàôè÷åñêîì ïðîöåññîðå ïåðâîãî êîýô-
ôèöèåíòà (GPU) ïî ìåòîäó Ðóíãå–Êóòòû;
2) âûçîâ ôóíêöèè âû÷èñëåíèÿ íà GPU âòîðîãî êîýôôèöèåíòà ïî ìåòîäó
Ðóíãå–Êóòòû è âû÷èñëåíèå èçìåíåíèÿ êîíöåíòðàöèè íà äàííîì âðå-
ìåííîì øàãå;
3) âûçîâ ôóíêöèè âû÷èñëåíèÿ íà GPU òðåòüåãî êîýôôèöèåíòà ïî ìåòîäó
Ðóíãå–Êóòòû è âû÷èñëåíèå èçìåíåíèÿ êîíöåíòðàöèè íà äàííîì âðå-
ìåííîì øàãå;
4) âûçîâ ôóíêöèè âû÷èñëåíèÿ íà GPU ÷åòâåðòîãî êîýôôèöèåíòà ïî ìå-
òîäó Ðóíãå–Êóòòû 4-ãî ïîðÿäêà è âû÷èñëåíèå èçìåíåíèÿ êîíöåíòðà-
öèè íà äàííîì âðåìåííîì øàãå;
5) âûçîâ ôóíêöèè âû÷èñëåíèÿ íà GPU ïÿòîãî êîýôôèöèåíòà ïî ìåòîäó
Ðóíãå–Êóòòû 5-ãî ïîðÿäêà è âû÷èñëåíèå èçìåíåíèÿ êîíöåíòðàöèè íà
äàííîì âðåìåííîì øàãå;
6) âûçîâ ôóíêöèé âû÷èñëåíèÿ íà GPU äëÿ çàìåíû âñåõ çíà÷åíèé êîí-
öåíòðàöèé âåùåñòâ ñ íîâûìè çíà÷åíèÿìè;
7) êîïèðîâàíèå äàííûõ èç ïàìÿòè GPU â ïàìÿòü CPU è çàïèñü íîâûõ
çíà÷åíèé êîíöåíòðàöèé â ôàéë.
6. Ïðîâåðêà âðåìåíè âû÷èñëåíèÿ: åñëè âðåìÿ íà äàííîì øàãå ìåíüøå, ÷åì
îáùåå âðåìÿ âû÷èñëåíèé, òî âîçâðàùàåìñÿ ê ï. 5; â ïðîòèâíîì ñëó÷àå îñòàíàâëè-
âàåì âû÷èñëåíèå.
 òàáë. 1 äàíû ðåçóëüòàòû âðåìåíè ðàñ÷åòà íà CPU è GPU ïðè ðàçíûõ ðàçìå-
ðàõ âõîäíîãî ìåõàíèçìà. Ïðè ðàñ÷åòàõ èñïîëüçîâàëñÿ ìåõàíèçì Aramco_Mech.
Ïðèìåíÿëñÿ ìåòîä Ðóíãå–Êóòòû 4-ãî ïîðÿäêà. Øàã âðåìåíè (dt, ñåê) ñîñòàâëÿë
1,00E-19, âðåìÿ âû÷èñëåíèÿ (1000*dt, ñåê) 1,00E-16. Êàæäûé ìîäóëü âû÷èñëÿåò,
íàñêîëüêî èçìåíèëàñü êîíöåíòðàöèÿ õèìè÷åñêîãî âåùåñòâà ïðè äàííîé ðåàêöèè
â çàäàííîì âðåìåííîì èíòåðâàëå. Íàïðèìåð, ïðè èñïîëüçîâàíèè 21 ýëåìåíòà ÷èñ-
ëî ðåàêöèé ñîîòâåòñòâóåò 51, ïðè ýòîì óñêîðåíèå ïðîöåññà ñîñòàâëÿåò 0,76 îò âðå-
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4 191
Ò à á ë è ö à 1
×èñëî
ýëåìåíòîâ
×èñëî ðåàêöèé
Âðåìÿ íà CPU
(ìñåê)
Âðåìÿ íà GPU
(ìñåê)
Óñêîðåíèå
ïðîöåññà
âû÷èñëåíèÿ
21 51 6901,00 9080,24 0,76
33 118 39081,00 20204,50 1,93
39 191 87735,00 29619,10 2,96
52 245 199169,00 49747,80 4,00
61 301 336749,00 67557,10 4,98
66 376 491811,00 83188,70 5,91
84 448 946439,00 125339,00 7,55
103 565 1795548,00 186175,00 9,64
162 1006 6832052,80 390403,00 17,5
ìåííîé ñêîðîñòè. Ïðè óâåëè÷åíèè êîëè÷åñòâà ýëåìåíòîâ äî 33 ìû äîáèâàåìñÿ
óñêîðåíèÿ äî 1,93 ðàçà. Ïîñëåäóþùèå óâåëè÷åíèÿ êîëè÷åñòâà ýëåìåíòîâ ïîçâî-
ëÿþò óñêîðèòü ïðîöåññ äî 17,5 ðàç ïðè 162 ýëåìåíòàõ è 1006 ðåàêöèÿõ. Òàê êàê
ðàñïàðàëëåëèâàíèå ïðîâîäèòñÿ ïî ðåàêöèÿì, òî ñ óâåëè÷åíèåì êîëè÷åñòâà ðåàêöèé
â ìåõàíèçìå âû÷èñëåíèÿ íà GPU äàåò çàìåòíûé âûèãðûø ïî âðåìåíè (ðèñ. 3).
Òàêèì îáðàçîì, ïðè èñïîëüçîâàíèè ãðàôè÷åñêèõ ïðîöåññîðîâ èìååì çàìåò-
íîå ïîâûøåíèå ñêîðîñòè âû÷èñëåíèÿ è ïðè ýòîì äàííûé ïðîöåññ çàíèìàåò ìàëî
âðåìåíè.
ÈÍÒÅÐÔÅÉÑ ÏÐÎÃÐÀÌÌÛ
 ïðîöåññå ðåàëèçàöèè ìàññèâíî-ïàðàëëåëüíîãî êèíåòè÷åñêîãî èíñòðóìåíòà-
ðèÿ äëÿ ìîäåëèðîâàíèÿ êèíåòèêè õèìè÷åñêè ðåàãèðóþùèõ ñèñòåì äëÿ
ðàçëè÷íûõ ïðèáëèæåíèé áûëî ðàçðàáîòàíî ïðîãðàììíîå îáåñïå÷åíèå «Õèìè-
÷åñêèé êàëüêóëÿòîð». Ðàáîòà ïðîãðàììû îáúåäèíÿåò ïðîöåññ âû÷èñëåíèÿ êàê
íà öåíòðàëüíîì ïðîöåññîðå, òàê è íà ãðàôè÷åñêèõ ïðîöåññîðàõ NVIDIA ñ èñ-
ïîëüçîâàíèåì òåõíîëîãèé CUDA. Ãðàôè÷åñêèé èíòåðôåéñ ïðîãðàììû ðàçðàáî-
òàí íà ÿçûêå ïðîãðàììèðîâàíèÿ C# ñ ó÷åòîì òîãî, ÷òîáû ïîëüçîâàòåëþ áûëî
ìàêñèìàëüíî óäîáíî âûïîëíÿòü ðåøåíèå çàäà÷ ñ õèìè÷åñêèìè ðåàãèðóþùèìè
ñèñòåìàìè. Âèä îñíîâíîãî èíòåðôåéñà ïðåäñòàâëåí íà ðèñ. 4.
Ïðè ïðîâåäåíèè âû÷èñëåíèé â ðàçðàáîòàííîé ïðîãðàììå èñïîëüçóþòñÿ ñî-
êðàùåííûå ôàéëû ìåõàíèçìà Chemkin. Ýòî ïîçâîëÿåò ïîëüçîâàòåëþ òðàíñôîð-
ìèðîâàòü ñâîè îáúåìíûå ìåõàíèçìû â ôîðìàò Chemkin. Ïîëüçîâàòåëü ìîæåò çà-
ãðóæàòü ýòè ôàéëû, çàäåéñòâóÿ ìåíþ «Ôàéë» � «Ðåàêöèè» è «Ôàéë» � «Òåðìî-
äèíàìè÷åñêèå ñâîéñòâà». Ïîñëå çàãðóçêè âõîäíîãî ôàéëà â îáëàñòè ïðîãðàììû
ñîçäàåòñÿ «Âõîäíîé ôàéë». Çäåñü ðàçäåëèòåëåì ìåæäó ðåàêöèÿìè è òåðìîäèíà-
ìè÷åñêèìè ñâîéñòâàìè âåùåñòâ ÿâëÿåòñÿ ñòðîêà ñ íàçâàíèåì «THERM». ×òåíèå
äàííûõ èç îáëàñòè «Âõîäíîé ôàéë» ïðîâîäèòñÿ ïîñòðî÷íî è ðåçóëüòàòû ÷òåíèÿ
çàïèñûâàþòñÿ â îáëàñòü «Ðåçóëüòàòû ÷òåíèÿ».
Ïðè ÷òåíèè îïðåäåëÿþòñÿ êîëè÷åñòâà ðåàãåíòîâ è ðåàêöèé â äàííîì ìåõà-
íèçìå, êîýôôèöèåíòû ôîðìóëû Àððåíèóñà, ôîðìèðóþòñÿ ëåâàÿ è ïðàâàÿ ìàòðè-
öû äëÿ ðåàêöèîííîãî ìåõàíèçìà è òåðìîäèíàìè÷åñêèå äàííûå äëÿ êàæäîãî ýëå-
192 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4
Ðèñ. 3. Ãðàôèêè âû÷èñëåíèÿ ïî âðåìåíè (ìñåê) íà CPU è GPU ìåòîäîì Ðóíãå–Êóòòû 4-ãî
ïîðÿäêà
Êîëè÷åñòâî ðåàêöèé
Â
ð
åì
ÿ
â
û
÷
è
ñë
åí
è
ÿ
,
ì
ñå
ê
�
1
0
6
Âðåìÿ CPU (ìñåê) Âðåìÿ GPU (ìñåê)
ìåíòà â ìåõàíèçìå. Îïðåäåëåíèå ýòèõ äàííûõ îñóùåñòâëÿåòñÿ âûáîðîì îäíîãî
ïóíêòà ìåíþ «×òåíèå» � «×òåíèå äàííûõ èç ôàéëà». Ïîñëå ýòîãî ââîäÿòñÿ
âõîäíûå äàííûå äëÿ ïðîâåäåíèÿ âû÷èñëåíèé ïóòåì âûáîðà îïðåäåëåííîãî
ìåòîäà èç âûïàäàþùåãî ñïèñêà. Âû÷èñëåíèÿ ìîæíî ïðîâîäèòü êàê íà öåíòðàëü-
íîì ïðîöåññîðå, òàê è íà ãðàôè÷åñêîì. Ïðîâåäåííûé ðàñ÷åò íà ãðàôè÷åñêèõ ïðî-
öåññîðàõ NVIDIA ïîêàçàë, ÷òî ñ óâåëè÷åíèåì ÷èñëà ðåàêöèé âðåìÿ âû÷èñëåíèé
íàìíîãî óìåíüøàåòñÿ ïî ñðàâíåíèþ ñî âðåìåíåì ðàñ÷åòà íà öåíòðàëüíûõ ïðî-
öåññîðàõ.
ÇÀÊËÞ×ÅÍÈÅ
Ïðè ïðîâåäåíèè âû÷èñëåíèé â ðàçðàáîòàííîé ïðîãðàììå èñïîëüçóþòñÿ ñîêðà-
ùåííûå ôàéëû ìåõàíèçìà Chemkin. Ýòî ïîçâîëÿåò ïîëüçîâàòåëþ ïðèìåíÿòü
â ñîçäàííîì ïðîåêòå ñâîè îáúåìíûå ìåõàíèçìû â ôîðìàòå ïðîãðàììíîãî
êîìïëåêñà Chemkin. Âû÷èñëåíèÿ êîíöåíòðàöèé õèìè÷åñêèõ âåùåñòâ ìîæíî
ïðîâåñòè êàê íà öåíòðàëüíîì ïðîöåññîðå, òàê è íà ãðàôè÷åñêîì. Ïðè ïðîâåäå-
íèè ðàñ÷åòà íà ãðàôè÷åñêèõ ïðîöåññîðàõ NVIDIA ñ óâåëè÷åíèåì ÷èñëà õèìè-
÷åñêèõ ðåàêöèé âðåìÿ âû÷èñëåíèÿ óìåíüøàåòñÿ ïî ñðàâíåíèþ ñ âðåìåíåì ðàñ-
÷åòà íà öåíòðàëüíûõ ïðîöåññîðàõ.
 ïðîãðàììå ðåàëèçîâàíû ìîäóëè äëÿ àâòîìàòèçèðîâàííîãî ÷òåíèÿ äàííûõ
èç âõîäíûõ ôàéëîâ íà ôîðìàòå ïðîãðàììíîãî êîìïëåêñà Chemkin, âû÷èñëèòåëü-
íûå àëãîðèòìû ðàñ÷åòà ñêîðîñòåé ðåàêöèé, ïîëó÷åíèå èçìåíåíèÿ êîíöåíòðàöèé
âåùåñòâ ïî âðåìåíè. Îñíîâíûå âû÷èñëåíèÿ ïðîâîäÿò ñ èñïîëüçîâàíèåì ìåòîäîâ
Ðóíãå–Êóòòû 4-ãî è 5-ãî ïîðÿäêîâ. Âû÷èñëåíèå íà öåíòðàëüíîì ïðîöåññîðå ïðî-
âîäèòñÿ ñ èñïîëüçîâàíèåì ïîñëåäîâàòåëüíîãî àëãîðèòìà. Âû÷èñëåíèå íà ãðàôè-
÷åñêèõ êàðòàõ NVIDIA ñ èñïîëüçîâàíèåì òåõíîëîãèé ðàñïàðàëëåëèâàíèÿ CUDA
ïðîâîäèòñÿ ïàðàëëåëüíî.
Ñ ïîìîùüþ ñîçäàííîé ïðîãðàììû ïðîâåäåí ñðàâíèòåëüíûé àíàëèç âðåìåí-
íîãî èíòåðâàëà âû÷èñëåíèé íà öåíòðàëüíîì è ãðàôè÷åñêîì ïðîöåññîðàõ.  ðå-
çóëüòàòå ïðè èñïîëüçîâàíèè ìåõàíèçìà Aramco_Mech ñ ÷èñëîì ýëåìåíòîâ 162 è
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4 193
Ðèñ. 4. Ãëàâíûé èíòåðôåéñ ïðîãðàììû «Õèìè÷åñêèé êàëüêóëÿòîð»
÷èñëîì ðåàêöèé 1006 óñêîðåíèå ïðîöåññà âû÷èñëåíèé ñ èñïîëüçîâàíèåì ãðàôè-
÷åñêèõ êàðò ïîçâîëÿåò ñîêðàòèòü âðåìÿ â 17,5 ðàç ïî ñðàâíåíèþ ñ âû÷èñëåíèåì
íà öåíòðàëüíîì ïðîöåññîðå.
ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ
1. Varnatts Yu., Maas U., Dibble R. Burning physical and chemical aspects, modeling, experiments,
formation of pollutants. Trans. Agafonova G.L., Ed. Vlasov P.A. Moscow: Fizmatlit, 2003. 352 p.
2. Pio G., Ricca A., Palma V., Salzano E. Low temperature combustion of methane/alkenes mixtures.
Fuel. 2019. Vol. 254. Article 115567. P. 224–231. https://doi.org/10.1016/j.fuel.2019.05.150.
3. Kuppa K., Nguyen H.D., Goldmann A., Korb B., Wachtmeister G., Dinkelacker F. Numerical
modelling of unburned hydrocarbon emissions in gas engines with varied fuels. Fuel. 2019.
Vol. 254. Article 115532. P. 1–13. https://doi.org/10.1016/j.fuel.2019.05.115.
4. Syrodoy S., Penyazkov O., Assad M., Gutareva N. Mathematical modeling of the electric spark
ignition of the coal-water particle fuel under conditions relevant to the internal combustion engines.
MATEC Web of Conferences. 2016. Vol. 92. Article 01028. P. 1024–1030. https://doi.org/
10.1051/matecconf/20179201028.
5. Sathiah P., Holler T., Kljenak I., Komen E. The role of CFD combustion modeling in hydrogen
safety management. V. Validation for slow deflagrations in homogeneous hydrogen-air experiments.
Nuclear Engineering and Design. 2016. Vol. 310. P. 520–531. https://doi.org/10.1016/
j.nucengdes.2016.06.030.
6. Fattah I.M.R., Yip H.L., Jiang Z., Yuen Anthony C.Y., Yang W., Medwell P., Kook S., Yeoh G.,
Chan Q. Effects of flame-plane wall impingement on diesel combustion and soot processes. Fuel.
2019. Vol. 255. Article 115726. P. 59–69. https://doi.org/10.1016/j.fuel.2019.115726.
7. Zhapbasbaev U.K., Makashev E.P. Diffusion combustion of a system of plane supersonic hydrogen
jets in a supersonic flow. Combustion explosion and shock waves. 2003. Vol. 39. P. 415–422.
8. NVIDIA CUDA parallel computing platform Programming Guide. URL: http://www.nvidia.ru/
object/cuda-parallel-computing-ru.html.
9. Harris M. Mapping computational concepts to GPUs. GPU Gems. 2006. Vol. 2. P. 493–508.
10. Hall J.D., Carr N.A., Hart J.C. Cache and bandwidth aware matrix multiplication on the GPU.
URL: http://graphics.cs.illinois.edu/sites/default/files/UIUCDCS-R-2003-2328.pdf.
11. Horn D. Stream reduction operations for GPGPU applications. GPU Gems. 2006. Vol. 2.
P. 573–589.
12. Sosutha Sa., Mohana Db. Heterogeneous parallel computing using CUDA for chemical process.
Procedia Computer Science. 2015. Vol. 47. P. 237–246. https://doi.org/10.1016/
j.procs.2015.03.203.
Íàä³éøëà äî ðåäàêö³¿ 19.09.2019
194 ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4
Ì.C. Ñàðñåìáàºâ, Á.À. Óðìàøåâ, Í. Ìëàäåíîâ³÷, B.À. Çàñëàâñüêèé
ÂÈÊÎÐÈÑÒÀÍÍß ÒÅÕÍÎËÎò¯ CUDA ÄËß ÏÐÈÑÊÎÐÅÍÍß ÎÁ×ÈÑËÅÍÜ
 ÇÀÄÀ×ÀÕ Õ²Ì²×Íί ʲÍÅÒÈÊÈ
Àíîòàö³ÿ. Ðîçãëÿíóòî çàäà÷ó õ³ì³÷íî¿ ê³íåòèêè, ïðîâåäåíî ðîçðàõóíîê çì³í
êîíöåíòðàö³¿ ðå÷îâèí â ðåàêö³ÿõ çà ÷àñîì ³ ñòâîðåííÿ ìàñèâíî-ê³íåòè÷íîãî
³íñòðóìåíòàð³þ äëÿ ðîçâ’ÿçàííÿ çàäà÷³ ç âèêîðèñòàííÿì ñó÷àñíèõ òåõíîëîã³é
ðîçïàðàëåëþâàííÿ. Îïèñàíî ìàòåìàòè÷íó ìîäåëü çì³íè êîíöåíòðàö³é ðå÷î-
âèí â ñèñòåì³ ç îäíîâèì³ðíèì íàáëèæåííÿì ³ ìîæëèâ³ñòþ ïðèñêîðåííÿ îá-
÷èñëåíü ç âèêîðèñòàííÿì òåõíîëî㳿 CUDA. Ðîçðàõóíîê íà ãðàô³÷íèõ ïðîöå-
ñîðàõ NVIDIA ïîêàçàâ, ùî ç³ çá³ëüøåííÿì ê³ëüêîñò³ õ³ì³÷íèõ ðåàêö³é ÷àñ
îá÷èñëåííÿ íàáàãàòî çìåíøóºòüñÿ â ïîð³âíÿíí³ ç ÷àñîì ðîçðàõóíêó íà öåí-
òðàëüíèõ ïðîöåñîðàõ.
Êëþ÷îâ³ ñëîâà: ãîð³ííÿ, ìåõàí³çìè ãîð³ííÿ, ïàðàëåëüíå îá÷èñëåííÿ,
ãðàô³÷í³ ïðîöåñîðè, CUDA, ìåòîä Ðóíãå–Êóòòè.
M. Sarsembayev, B. Urmashev, N. Mladenovic, V.A. Zaslavskyi
SOLVING THE PROBLEMS OF CHEMICAL KINETICS BY USING THE CUDA TECHNOLOGY
Abstract. The paper focuses on the problem of chemical kinetics, calculation of
changes in the concentration of substances in the reactions over time, and
creation of a mass kinetic solver to solve the problem using modern
parallelization technologies. A mathematical model of variation in the
concentration of substances in a system with a one-dimensional approximation
and the possibility of accelerating the calculations using the CUDA technology
are described. The calculation performed on NVIDIA graphic processor showed
that an increase in the number of responses much reduces the computing time as
compared with the computing time on the central processors.
Keywords: combustion, combustion mechanisms, parallel computation, graphic
processors, CUDA, Runge–Kutta method.
Ñàðñåìáàåâ Ìàãæàí Ñìàãóëîâè÷,
PhD ñòóäåíò Êàçàõñêîãî íàöèîíàëüíîãî óíèâåðñèòåòà èìåíè àëü-Ôàðàáè, Àëìàòû, Êàçàõñòàí,
e-mail: sarsembayev.magzhan@gmail.com.
Óðìàøåâ Áàéäàóëåò Àìàíòàåâè÷,
êàíäèäàò ôèç.-ìàò. íàóê, äîöåíò Êàçàõñêîãî íàöèîíàëüíîãî óíèâåðñèòåòà èìåíè àëü-Ôàðàáè, Àëìàòû,
Êàçàõñòàí, e-mail: baydaulet.urmashev@gmail.com.
Ìëàäåíîâè÷ Íåíàä,
äîêòîð ìàò. íàóê, ïðîôåññîð Ìàòåìàòè÷åñêîãî èíñòèòóòà Ñåðáñêîé àêàäåìèè íàóê è èñêóññòâ,
Áåëãðàä, Ðåñïóáëèêà Ñåðáèÿ, e-mail: nenad@mi.sanu.ac.rs.
Çàñëàâñêèé Bëàäèìèð Àíàòîëüåâè÷,
äîêòîð òåõí. íàóê, ïðîôåññîð, ïðîôåññîð êàôåäðû Êèåâñêîãî íàöèîíàëüíîãî óíèâåðñèòåòà èìåíè
Òàðàñà Øåâ÷åíêî, e-mail: zas@unicyb.kiev.ua.
ISSN 1019-5262. Êèáåðíåòèêà è ñèñòåìíûé àíàëèç, 2020, òîì 56, ¹ 4 195
|
| id | nasplib_isofts_kiev_ua-123456789-190443 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 1019-5262 |
| language | Russian |
| last_indexed | 2025-12-07T18:36:41Z |
| publishDate | 2020 |
| publisher | Інститут кібернетики ім. В.М. Глушкова НАН України |
| record_format | dspace |
| spelling | Сарсембаев, М.C. Урмашев, Б.А. Младенович, Н. Заславский, B.А. 2023-06-06T17:13:09Z 2023-06-06T17:13:09Z 2020 Использование технологии CUDA для ускорения вычислений в задачах химической кинетики / М.C. Сарсембаев, Б.А. Урмашев, Н. Младенович, B.А. Заславский // Кибернетика и системный анализ. — 2020. — Т. 56, № 4. — С. 185–195. — Бібліогр.: 12 назв. — рос. 1019-5262 https://nasplib.isofts.kiev.ua/handle/123456789/190443 004.2 Рассмотрена задача химической кинетики, проведен расчет изменений концентраций веществ в реакциях по времени и созданию массивно-кинетического инструментария для решения задачи с использованием современных технологий распараллеливания. Описана математическая модель изменения концентраций веществ в системе с одномерным приближением и возможностью ускорения вычислений с использованием технологией CUDA. Расчет на графических процессорах NVIDIA показал, что с увеличением числа химический реакций время вычисления намного уменьшается по сравнению со временем расчета на центральных процессорах Розглянуто задачу хімічної кінетики, проведено розрахунок змін концентрації речовин в реакціях за часом і створення масивно-кінетичного інструментарію для розв'язання задачі з використанням сучасних технологій розпаралелювання. Описано математичну модель зміни концентрацій речовин в системі з одновимірним наближенням і можливістю прискорення обчислень з використанням технології CUDA. Розрахунок на графічних процесорах NVIDIA показав, що зі збільшенням кількості хімічних реакцій час обчислення набагато зменшується в порівнянні з часом розрахунку на центральних процесорах. The paper focuses on the problem of chemical kinetics, calculation of changes in the concentration of substances in the reactions over time, and creation of a mass kinetic solver to solve the problem using modern parallelization technologies. A mathematical model of variation in the concentration of substances in a system with a one-dimensional approximation and the possibility of accelerating the calculations using the CUDA technology are described. The calculation performed on NVIDIA graphic processor showed that an increase in the number of responses much reduces the computing time as compared with the computing time on the central processors. ru Інститут кібернетики ім. В.М. Глушкова НАН України Кибернетика и системный анализ Нові засоби кібернетики, інформатики, обчислювальної техніки та системного аналізу Использование технологии CUDA для ускорения вычислений в задачах химической кинетики Використання технології CUDA для прискорення обчислень в задачах хімічної кінетики Solving the problems of chemical kinetics by using the CUDA technology Article published earlier |
| spellingShingle | Использование технологии CUDA для ускорения вычислений в задачах химической кинетики Сарсембаев, М.C. Урмашев, Б.А. Младенович, Н. Заславский, B.А. Нові засоби кібернетики, інформатики, обчислювальної техніки та системного аналізу |
| title | Использование технологии CUDA для ускорения вычислений в задачах химической кинетики |
| title_alt | Використання технології CUDA для прискорення обчислень в задачах хімічної кінетики Solving the problems of chemical kinetics by using the CUDA technology |
| title_full | Использование технологии CUDA для ускорения вычислений в задачах химической кинетики |
| title_fullStr | Использование технологии CUDA для ускорения вычислений в задачах химической кинетики |
| title_full_unstemmed | Использование технологии CUDA для ускорения вычислений в задачах химической кинетики |
| title_short | Использование технологии CUDA для ускорения вычислений в задачах химической кинетики |
| title_sort | использование технологии cuda для ускорения вычислений в задачах химической кинетики |
| topic | Нові засоби кібернетики, інформатики, обчислювальної техніки та системного аналізу |
| topic_facet | Нові засоби кібернетики, інформатики, обчислювальної техніки та системного аналізу |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/190443 |
| work_keys_str_mv | AT sarsembaevmc ispolʹzovanietehnologiicudadlâuskoreniâvyčisleniivzadačahhimičeskoikinetiki AT urmaševba ispolʹzovanietehnologiicudadlâuskoreniâvyčisleniivzadačahhimičeskoikinetiki AT mladenovičn ispolʹzovanietehnologiicudadlâuskoreniâvyčisleniivzadačahhimičeskoikinetiki AT zaslavskiiba ispolʹzovanietehnologiicudadlâuskoreniâvyčisleniivzadačahhimičeskoikinetiki AT sarsembaevmc vikoristannâtehnologíícudadlâpriskorennâobčislenʹvzadačahhímíčnoíkínetiki AT urmaševba vikoristannâtehnologíícudadlâpriskorennâobčislenʹvzadačahhímíčnoíkínetiki AT mladenovičn vikoristannâtehnologíícudadlâpriskorennâobčislenʹvzadačahhímíčnoíkínetiki AT zaslavskiiba vikoristannâtehnologíícudadlâpriskorennâobčislenʹvzadačahhímíčnoíkínetiki AT sarsembaevmc solvingtheproblemsofchemicalkineticsbyusingthecudatechnology AT urmaševba solvingtheproblemsofchemicalkineticsbyusingthecudatechnology AT mladenovičn solvingtheproblemsofchemicalkineticsbyusingthecudatechnology AT zaslavskiiba solvingtheproblemsofchemicalkineticsbyusingthecudatechnology |