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

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

Full description

Saved in:
Bibliographic Details
Published in:Кибернетика и системный анализ
Date:2020
Main Authors: Сарсембаев, М.C., Урмашев, Б.А., Младенович, Н., Заславский, B.А.
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