... ... ... — «есептегіш»), ЭЕМ (электрондық есептеуіш машина) — есептеулерді жүргізуге,
... ... ... ақпаратты алдын ала белгіленген алгоритм бойынша қабылдау, қайта өңдеу,
... ... ... және нәтиже шығару үшін арналған машина.
1сурет - Компьютер
Жүйелік блок
... ... ... дербес компьютердің ең негізгі құрылғысы. Жүйелік блоктың ішінде жүйелік
... ... ... плата), процессор, оперативті жад, қатқыл диск, қоректендіру блогы, видеокарта
... ... ... көптеген маңызды құрылғылар орналасады. Жүйелік блоктың алдыңғы панелінде қосу
... ... ... және қайта жүктеу (Reset) батырмасы, компакт-диск мен дискетаны оқитын
... ... ... және қызыл-жасыл жарық индикаторлары орналасады. Жүйелік блоктың артқы жағында
... ... ... (монитор, пернетақта, тышқан) және қосымша құрылғыларды (принтер, модем, сканер,
... ... ... қосатын порттар мен кірістік құрылғылар орналасқан.
CPU - орталық
... ... ... ол компьютердің миы болып есептелінеді. Бұл керекті компонент ,компьютер
... ... ... алмайтын кейбір қызыметтерді ол істеуге қабілетті. Негізі, ол деректер
... ... ... бөлшек. Әрбір жаңа жаңартулармен , CPU және көбірек
... ... ... болды. СPU орталық бірлік басқармада орналасқан. Басқа техникалық
... ... ... компоненттер мен бағдарламалардың бәрі CPU арқылы жүйе орнатады. CPU-дің
... ... ... жұмысы маңызды және кеңейтілімі орасан зор. CPU-дың жұмысы деректерді
... ... ... дағы процессте жүйе тасымалдаушы және келесі қадамда пайдаланады. Жүйелік
... ... ... әрбір қадаммен, CPU деректерді реттейді. Бұрын ол деректер оқу
... ... ... түсіндіру және нұсқаулақтар үшін қажет, бағдарлама жіне техникалық қамсыздандыру
... ... ... жүйеге келтіруге қажет. Жаңа CPU бөлшектері алдыңғы нұсқаулықтармен
... ... ... қосылады. Олар компоненттер түсіндіруге қажет.
2 сурет - CPU орталық
... ... ... General-purpose graphics processing units сөзінен шыққан) – бейнекартаның графикалық
... ... ... қолдану техникасы, әдетте компьютерлік графикамен есептеулер жүргізу үшін қолданылады,
... ... ... қатар орталық процессор атқаратын жалпы есептеулер үшін маңызды. Бұл
... ... ... шейдерлік блоктарды қосу және растрлық конвейерлердің жоғары арифметикалық дәлдігі
... ... ... мүмкін болады. Бұл БҚ жобалаушыларға графикалық емес мәліметтердіғ ағындық
... ... ... қолдануға мүмкіндік береді. AMD FireStream — бағдарламалаушыларға ATI үдеткіштерінің
... ... ... процессорларында жүзеге асырылатын алгоритмдерді орындаудың GPGPU технологиясы. CUDA —
... ... ... Си бағдарламалау тілінде сегізінші ұрпақтың және одан жоғары GeForce
... ... ... (GeForce 8 Series, GeForce 9 Series, GeForce 200 Series,
... ... ... 300 Series, GeForce 400 Series, GeForce 500 Series, GeForce
... ... ... Series), Nvidia компаниясының Nvidia Quadro және Nvidia Tesla графикалық
... ... ... орындалатын алгоритмдерді жүзеге асыру үшін қажетті GPGPU технологиясы. CUDA
... ... ... Nvidia компаниясы жасаған.
... ... ... DirectCompute —
... ... ... шейдер. OpenCL – түрлі графикалық және орталық процессорларда параллель
... ... ... байланысты есептерді бағдарламалау тілі.
Қазіргі кезде үшөлшемді бейнелерді барлық жерде
... ... ... болады: компьютерлік ойындардан бастап, нақты уақыттағы модельдеу жүйелерінде. Ертеректе
... ... ... графика суперкомпьютерлерде ғана болған кезде графика саласында бірегей стандарт
... ... ... жоқ. Барлық бағдарламалар басынан бастап жазылатын немесе жинақталған тәжірибеге
... ... ... отырып, жазылатын, бірақ, әрбір бағдарламада графикалық ақпаратты бейнелеу үшін
... ... ... әдістері жүзеге асырылатын. Қуатты процессорлар мен графикалық үдеткіштердің келуімен
... ... ... графика дербес компьютерлер үшін нақты бола бастады. Бірақ, бағдарламалық
... ... ... өндірушілері маңызды мәселеге ұшырасты – бұл құрылғы мен операциялық
... ... ... тәуелсіз бағдарламаларды жазу үшін белгілі бір стандарттардың жоқтығы. Осындай
... ... ... бірі – осы күнге дейін бар OpenGL.
OpenGL – компьютерлік
... ... ... саласындағы графикалық стандарт. Аталмыш мезетте ол әлемдегі кеңінен танымал
... ... ... стандарт болып саналады. 1982 жылы Стенфорд университетінде графикалық машинаның
... ... ... жасалынды, оның негізінде Silicon Graphics фирмасы өзінің Silicon IRIS
... ... ... станциясында рендеринг конвейерін жасады. Осылайша IRIS GL графиклық кітапханасы
... ... ... IRIS GL кітапханасының негізінде 1992 жылы графикалық OpenGL станларты
... ... ... бекітілді. OpenGL жобалаушылары – бұл құрылғылар мен бағдарламалық қамтылудың
... ... ... фирмалары: Silicon Graphics, Inc., Microsoft, IBM Corporation, Sun Microsystems,
... ... ... Digital Equipment Corporation (DEC), Evans & Sutherland, Hewlett-Packard Corporation,
... ... ... Corporation и Intergraph Corporation. Бұл OpenGL –
... ... ... және мобильд стандарт деген сөз. OpenGL көмегімен жазылған бағдарламаларды
... ... ... келген платформаға тасымалдауға болатындығын білдіреді, осы кезде графикалық станция
... ... ... суперкомпьютер болсын бірдей нәтижеге қол жеткізуге болады. OpenGL бағдарламалаушыны
... ... ... құрылғы үшін бағдарлама жазу қиындығынан арылтады. Егер құрылғы белгілі
... ... ... функцияға негізделген болса, онда аталмыг функция аппаратты түрде орындалады,
... ... ... болмаса, онда кітапхана оның бағдарламалық тұрғыдан орындайды.
Видеокарта (графикалық үдеткіш,
... ... ... плата, графикалық карта, бейнеадаптер, графикалық адаптер деген атаулармен де
... ... ... – компьютердің немесе адаптердің өз жадында сақталатын графикалық бейнені
... ... ... қарай монитордың экранына шығару үшін түрлендіретін құрылғы. Қазіргі таңда
... ... ... функция өзінің басты құныдылығын жоғалтып алды және бірінші кезекте
... ... ... адаптер дегеніміз – графикалық процессоры бар адаптер, яғни графикалық
... ... ... қалыптастырумен айналысатын графикалық үдеткіш. Әдетте бейнекарта кеңейту платасы болып
... ... ... және жүйелі платаға орналастырылады. Осы жағдайда құрылғы бейнекарта деп
... ... ... кездегі бейнекарталар қарапайым бейнені шығарумен шектелмейді, олардың бекітілген графикалық
... ... ... бар, оның өзі компьютердің орталық процессорынан қосымшы өңдеу шартын
... ... ... тастайды. Мысалы, қазіргі кездегі Nvidia және AMD (ATi) бейнекарталары
... ... ... OpenGL және DirectX конвейерлеріне аппарттық деңгейде рендеринг жүргізеді. Соңғы
... ... ... графикалық емес есептерді шешу үшін графикалық процессордың есептік мүмкіндіктерін
... ... ... басымдылығы бар.
IBM PCүшін ең алғашқы графикалық адаптерлердің бірі –
... ... ... жылғы MDA (Monochrome Display Adapter). Ол 80×25 символдан тұратын
... ... ... етілумен мәтіндік режимде жұмсы жасайды және мәтіннің бес атрибутын
... ... ... әдеттегі, жарық, инверстік, тізілген және жарқылдаушы. Ешқандай түстік немесе
... ... ... ақпаратты ол бере алмады және әріптер қандай түстес болатындығы
... ... ... монитордың моделімен анықталатын. Әдетте олар ақ-қара, янтар түстес немесе
... ... ... түстес болатын. Hercules фирмасы 1982 жылы MDA адаптерін әрі
... ... ... дамытты, HGC бейнеадаптерін шығарды, оның 720×348 нүктелерден тұратын графикалық
... ... ... етілуі бар және екі графикалық беттен құралады. Бірақ, ол
... ... ... жұмыс жасауға мүмкіндік беретін.
Алғашқы түсті бейнекарта IBM шығарған
... ... ... (Color Graphics Adapter) болды және бейнекарталардың келесі стандарты үшін
... ... ... болды. Ол мәтіндік режимде 40×25 рұқсат етілуімен және 80×25
... ... ... етілуімен жұмсы жасай алады. Мәтіндік режимдерде 256 символ атрибуты
... ... ... – 16 символ түсі мен 16 фон түстері. 320×200
... ... ... режимінде төрт түс палитрасы болатын және 640×200 рұқсат етілуі
... ... ... болатын. Осы бейненің дамуымен EGA (Enhanced Graphics Adapter)
... ... ... графикалық адаптері қалыптасты. Оның өзі 64 түс палитрасы бар
... ... ... аралық буфері бар. 640×350 дейін рұқсат етілуі жақсартылды, нәтижесінде
... ... ... мәтіндік режимі қосылады. 80×25 режимі үшін үлкен матрица қолданылды
... ... ... 8×14, бірмезгілде 16 түсті қолдануға болады, түстік палитрасы 64
... ... ... дейін кеңейтілді. Графикалық режим сонымен қатар 640×350 рұқсат етілуінде
... ... ... түстік палитрадан 16 түсті қолдану мүмкіндігін берді. CGA мен
... ... ... өзара үйлестірілді. Осындай типтегі мониторлары бар бейнеадаптерлердің интерфейстері саедық
... ... ... MDA мен HGC «жарық» мәтін атрибуты үшін қосымша
... ... ... сигналы мен нүктесі жарық па, емес пе соны ғана
... ... ... сияқты үш арна арқылы беретін (қызыл, жасыл, көк). Ол
... ... ... қатар негізгі бейнесигналды ғана беріп, қосымша жарықтылық сигналын да
... ... ... алатын. EGA-ның әрбір негізгі түске сәйкес екі тасымал сызығы
... ... ... яғни әрбір негізгі түс толық жарық бола алатын, немесе
... ... ... жарықтылықтың 2/3 –і немесе 1/3-і ғана болатын, бұл қорытындысында
... ... ... 64 түсті береді.
IBM PS/2 ертеректегі компьютер модельдерінде жаңа MCGA
... ... ... Graphics Adapter — көптүсті графикалық адаптер) графикалық адаптері қалыптасқан.
... ... ... рұқсат етілуі 640x400 дейін артқан, бұл 8x8 матрицасында 80x50
... ... ... қолдануға жағдай жасайды, ал 80x25 режимі үшін 8x16
... ... ... қолданылады. Түстердің саны 262144 дейін арттырылған. EGA-мен үйлесімді болуы
... ... ... мәтіндік режимдерде түстер кестесі енгізілген, ол арқылы 64-түстік EGA
... ... ... MCGA түстік кеңістігіне түрленеді. 320x200x256 режимі қалыптасқан, мұнда экрандағы
... ... ... пиксель бейнежадтағы сәйкес байтпен кодталады, ешқандай биттік жазықтықтар болмайтын,
... ... ... EGA – мен тек мәтіндік режимде ғана үйлесімділік болатын,
... ... ... үйлесімділік толық болатын. Негізгі түстердің жарықтылығының мөлшерінің көп болуынан
... ... ... түстік сигналды қолдану қажеттілігі туындады, жолдық жазбалау жиілігі енді
... ... ... кГц құрайтын болды.
Содан соң IBM тағы алға жылжып, VGA
... ... ... Graphics Array — графикалық бейне массив) жасап шығарды, бұл
... ... ... EGA-мен үйлесімді MCGA кеңейтілуі және оны PS/2 орта модельдеріне
... ... ... Бұл 80-жылдардың соңындағы бейнеадаптердің фактілі стандарты болатын. Қосылғаны: MDA
... ... ... үшін 720x400 мәтіндік рұқсат етілуі мен биттік жазықтықтар арқылы
... ... ... 640x480 графикалық режимі. 640x480 режимінің артықшылықтары – онда квадратты
... ... ... қолданылады, яғни тік және көлденең бағыттағы пиксельдер санының қатынасы
... ... ... жақтарының стандартты қатынастарымен сәйкес келеді - 4:3. Әрі қарай
... ... ... және 1024x768x256 рұқсат етілуі бар IBM 8514/a пайда болды
... ... ... мәтіндік режимі 132x25 (1056x400) болатын IBM XGA қалыптасты.
1991 жылдан
... ... ... SVGA(Super VGA — «асқын» VGA) – анағұрлым жоғары режимдер
... ... ... қосымша сервистері бар VGA кеңейтілуі қалыптасты, мысалы, кадрлардың қалаауымызша
... ... ... қою мүмкіндігі. Бірмезгілде бейнеленетін түстер саны 65 536 (High
... ... ... 16 бит) және 16 777 216 (True Color, 24
... ... ... дейін артады, қосымша мәтіндік режимдер қалыптасады. Сервистік қызметтерден VBE
... ... ... BIOS Extention — VESA стандартының BIOS кеңейтілуі) қолдауы
... ... ... бар. SVGA 1992 жылдың ортасынан бастап бейнеадаптердің фактілі стандарты
... ... ... қабылданады, VESA ассоциациясы 1.0. нұсқалы VBE стандарытн қабылдаған соң.
... ... ... барлық бейнеадаптерлері өзара мүлде үйлеспейтін.
Көптеген операциялық жүйелерде графикалық қолданушы
... ... ... бейнеадаптерлердің жаңа сатысын жақсартты. «Графикалық үдеткіш» ұғымы (graphics accelerator)
... ... ... Бұл аппараттық деңгейде кейбір графикалық функцияларды орындау үшін қолданылатын
... ... ... Осы функциялардың қатарына мыналар жатады: үлкен бейне блоктарды экранның
... ... ... бөлігінен екіншісіне көшіру (мысалы, терезені жылжытқанда), бейне бөліктерін бояумен
... ... ... сызықтар, доғалар, шрифтер, аппаратты курсордың қолдауы және т.б. Осындай
... ... ... құрылғының дамуына тікелей қозғаушы күш болатыны графикалық тұтынушылық
... ... ... күмәнсіз қолайлы болып саналады, бірақ, оны қолдану орталық процессордан
... ... ... емес есептеуіш қорларды талап етеді және заманауи графикалық үдеткіш
... ... ... бейнені шекті шығару бойынша айтарлықтай есептеу үлесін өзіне алу
... ... ... қолданылады.
IBM емес үй компьютерінің мысалы - ZX Spectrum,өзінің бейне
... ... ... даму тарихы бар.
Графикалық процессор (Graphics processing unit – графикалық
... ... ... құрылғы) – шығарылатын бейнені есептеумен айналысады, осылайша ол орталық
... ... ... өзінің міндеттерінен ажыратады. Үшөлшемді графиканың нұсқауларын өңдеу үшін есептеулер
... ... ... Графикалық платаның негізі болады, оған осы құрылғының шапшаң жұмыс
... ... ... мен мүмкіндіктері тәуелді болады. Заманауи графикалық процессорлар күрделілігі бойынша
... ... ... орталық процессордан артта қалып қояды және транзисторлар мен есептеу
... ... ... бойынша одан көш ілгері озып кетеді. Алайда, өткен ғасырдағы
... ... ... архитектурасы әдетте бірнеше ақпарат өңдеу блоктарынан құралады. Нақты айтар
... ... ... 2D-графиканың өңдеу блогы, 3D-графиканың өңдеу блогы, өз кезегінде әдетте
... ... ... геометриялық ядро мен растерлеу блогынан құралады.
Бейнебақылаушы – бейнежадта бейненің
... ... ... жауап береді, монитор үшін жазбалау сигналдарын қалыптастыру үшін RAMDAC
... ... ... береді және орталық процессордың нұсқауларын орындайды. Мұнан өзге әдетте
... ... ... мәліметтер шиасының бақылаушысы да болады, ішкі мәліметтер шинасының бақылаушысы
... ... ... бейнежад бақылаушысы болады. Ішкі шина мен бейнежад шинасының ені
... ... ... сыртқымен салыстырғанда үлкен болады. Көптеген бейнебақылаушыларға RAMDAC да орнатылады.
... ... ... графикалық адаптерлердің (ATI, nVidia) әдетте екіден кем емес бейнебақылаушылары
... ... ... олар бір-бірінен тәуелсіз түрде жұмыс жасап, бірмезгілде бір немесе
... ... ... дисплейлермен жұмыс жасайды.
Бейнежад – кадрлық буфердің рөлін атқарады, онда
... ... ... процессор үнемі шығаратын және тұрақты түрде өзгертіп отыратын бейнелер
... ... ... Бейнежадта сонымен қатар экранда көрінбейтін аралық бейне элементтері мен
... ... ... мәліметтер сақталады. Бейнежад әдетте бірнеше типті болады: жылдамдығы мен
... ... ... жиілігі бойынша. Заманауи бейнекарталардың DDR, GDDR2, GDDR3, GDDR4 және
... ... ... типті жадтары болды. Сонымен қатар бейнекартадағы бейнежадтан өзге заманауи
... ... ... процессорлар әдетте өз жұмысында компьютердің жалпы жүйелік жадының бір
... ... ... де қолданады, оған тікелей бейнеадаптердің драйвері арқылы жүзеге асырылады.
... ... ... архитектурасын бейнежад ретінде қолданған жағдайында компьютердің жүйелік жадының бір
... ... ... қолданылады.
Сандық-аналогты түрлендіргіш(ЦАП, RAMDAC — Random Access Memory Digital-to-Analog Converter)
... ... ... бейнебақылаушы қалыптастыратын бейнені түрлендіру үшін қолданылады. Бейненің түстілік диапазоны
... ... ... RAMDAC параметрлерімен анықталады. Жиі жағдайларда RAMDAC негізгі төрт блогы
... ... ... үш сандық-аналогты түрлендіргіш, олардың әрқайсысы бойынша әрбір түстік арнаға
... ... ... туралы мәліметтер сақтау үшін қолданылады. Көптеген САТ бір арнаға
... ... ... биттік разряды болады - әрбір негізгі түске 256 жарықтылық
... ... ... сәйкес келеді, бұл қосындысында 16,7 млн түсті береді. Кейбір
... ... ... әрбір арна бойынша 10 биттік разряды болады. Бұл бірденннен
... ... ... млрд аса түсті бейнелеуге мүмкіндік береді. Бірақ, аталмыш мүмкіндік
... ... ... қолданылмайды. Екінші мониторды қолдау үшін жиі жағдайларда екінші САт
... ... ... DVI бейнекартасының шығысына сандық мәліметтер ағынын түрлендіру үшін қосылатын
... ... ... мен бейнепроекторлар меншікті сандық-аналогты түрлендіргіштерді қолданады және САП бейнекартасының
... ... ... тәуелді болмайды.
Бейне-ПЗУ (Video ROM) – тұрақты түрде есте сақтау
... ... ... онда бейне-BIOS,экрандық шрифттер, қызметтік кестелер мен т.б. ПЗУ-ды бейнебақылаушы
... ... ... қолданбайды – оған тек орталық процессор ғана жүгінеді. ПЗУ-да
... ... ... бейне- BIOS бейнекартаның жұмысын танып, негізгі операциялық жүйе қосылғанша
... ... ... жұмысын жүргізеді, бейнекартаның барлық төменгі деңгейлі параметрлерді береді. Сонымен
... ... ... VBIOS-тың құрамында жүйелік мәліметтер де болады, олар оқылып, бейнедрайвермен
... ... ... процесі барысында танылады. Көптеген заманауи карталарда электрлік қайта бағдарланатын
... ... ... қолданылады.
Суыту жүйесі – шекті көлемде бейнепроцессор мен бейнежадтың температуралық
... ... ... сақтау үшін қолданылады. Заманауи графикалық адаптердің дұрыс, әрі толық
... ... ... жұмысын қамтамасыз ету бейнедрайвердің көмегімен жүзеге асырылады. ол –
... ... ... өндірушісі жеткізетін және қосу барысынжа іске асырылатын арнайы бағдарламалық
... ... ...
2 NVIDIA CUDA – графикалық процессорлардағы графикалық емес
... ... ... компьютерлерді ұсақ суперкомпьютерлерге алмастыру құрылғылары жеткілікті ертеректе белгілі болған.Өткен
... ... ... 80-жылдардың өзінде нарықта транспьютерлер деген танымал құрылғылар болатын олар
... ... ... кезде кең тараған ISA кеңейтілуі бар слоттарға бекітілетін. Алғашқы
... ... ... олардың сәйкес есептердегі өнімділігі керемет болатын, бірақ, әмбебеп процессорлардың
... ... ... артып, олар өздерінің параллель есептеулердегі бағыттарын күшейте түсті және
... ... ... транспьютерлер керексіз болып қалды. Осындай құрылғылар – алуан түрлі
... ... ... үдеткіштер әлі күнге дейін бар. Бірақ, оларды қолдану аясы
... ... ... және еркеше таралмаған.
3 сурет - NVIDIA CUDA графикалық
... ... ... 2.1. Параллель
... ... ... CPU мен GPU арасындағы ерекшеліктер
Әмбебап процессорлардың жиіліктерінің артуы физикалық
... ... ... жоғары энергия тұтынымы тұрғысынан шектеліп қалды және олардың өнімділігінің
... ... ... бір чипке бірнеше ядроларды орналастыру есебінен қол жеткізіледі. Қазіргі
... ... ... сатылып жүрген процессорлардың көпшілігі тек төрт ядромен ғана шектеліп
... ... ... және олар әдеттегі қарапайым қосымшаларға ғана арналған, сонымен қатар
... ... ... — нұсқаулар мен мәліметтердің көп ағынын қолданады. Әрбір ядро
... ... ... дербес түрде жеке жұмыс жасай отырып, түрлі процессорлар үшін
... ... ... нұсқауларды атқарады.
Төртқұраушылы және екіқұраушылы векторлар үшін арнай векторлық мүмкіндіктер
... ... ... мен SSE3) графикалық қосымшаларға қойылатын талаптардың жоғарылауына сәйкес әмбебап
... ... ... пайда болады. Сондықтан белгілі бір есептер үшін GPU қолдану
... ... ... NVIDIA бейнечиптерінде негізгі блок – бұл сексен ядролық және
... ... ... ALU бар мультипроцессор, сонымен қатар оның бірнеше мыңдаған регистрлері
... ... ... аса үлкен емес көлемдегі жалпы жадына ие. Мұнан өзге
... ... ... шапшаң ғаламдық жады бар: онда барлық мультипроцессорларға, ондағы әрбір
... ... ... жадына, сонымен қатар константалар үшін арнайы жадына қол жеткізе
... ... ... бастысы – GPU-дағы мультипроцессорлардың бірнеше ядролары SIMD (бір ғана
... ... ... ағыны, көптеген мәліметтер ағыны)ядролар болып табылады. Осы ядролар бірмезгілде
... ... ... нұсқауларды жүзеге асырады, бағдарламалардың мұндай стилі графикалық алгоритмдер мен
... ... ... есептер үшін қарапайым, бірақ, жеке өзіне ғана тән бағдарламалауды
... ... ... етеді. Осындай тәсіл блоктарды қарапайым түрге келтіру арқылы олардың
... ... ... арттыруға мүмкіндік береді.
Ендеше CPU мен GPU құрылымдары арасындағы негізгі
... ... ... саралайық. CPU ядролары максимал өнімділікпен жүйелі нұсқауларжң бір ғана
... ... ... орындау үшін бағытталады, ал GPU параллель жүзеге асырылатын нұсқаулар
... ... ... көп санын жылдам орындау үшін қажет. Әмбебап процессорлар нұсқаулардың
... ... ... ағынының жоғары өнімділігіне қол жеткізу үшін жетілдірілген. Олар сонымен
... ... ... бүтін және айнымалы нүктесі бар сандарды өңдеу үшін бағытталған.
... ... ... тұста жадқа ену кездейсоқ сипатта өтеді.
CPU жобалаушылар өнімділікті арттыру
... ... ... параллель түрде мүмкіндігінше көбірек нұсқауларды жүзеге асыру мүмкіндігі болатындай
... ... ... жасайды. Ол үшін IntelPentium процессорларынан бастап, бір тактіде екі
... ... ... орындауды қамтамасыз ететін суперскалярдық орындау қалыптасты, ал PentiumPro нұсқауларды
... ... ... орындаумен ерекшеленді. Бірақ, нұсқаулар ағынын параллель орындауға белгілі бір
... ... ... шектеулер қойылады және орындаушы блоктардың саны артқан сайын жылдамдықты
... ... ... қоса арттыру мүмкіндігі болмай отыр.
Қысқаша айтқанда, заманауи әмбебап CPU-ға
... ... ... бейнечиптер арифметикалық операциялардың көп санымен параллель есептеулер жүргізу үшін
... ... ... GPU транзисторларының көп саны тура бағытта – көп емес
... ... ... есептік ағындарды (flowcontrol) орындамайды, тек мәліметтер массивтерін орындаумен
... ... ... Бұл CPU мен GPU түрлі логикалары қанша орын алатындығын
... ... ... сызба:
4 сурет - CPU мен GPU жұмыс істеу
... ... ... GPU қуатын ғылыми және өзге графикалық есептеулерде тиімді қолданудың
... ... ... алгоритмдерді бейнечиптердегі жүздеген орындаушы блоктарға параллельдендіруде жатыр. Мысалы, молекулалық
... ... ... бойынша көптеген қосымшалар бейнечиптер үшін есептеулер жүргізу үшін жақсы
... ... ... олар үлкен есептеу қуаттарын талап етеді және сондықтан параллель
... ... ... үшін қолайлы. Ал бірнеше GPU қолдану осындай есептер
... ... ... есептік қуаттарды қажет етеді.
Нәтижесінде бейнечиптердің теориялық өнімділігі CPU өнімділігінен
... ... ... асып түседі. NVIDIA компаниясы соңғы жылдардағы CPU мен GPU
... ... ... өсу қарқынын сипаттайтын мынадай графикті береді:
5 сурет -
... ... ... мен GPU жұмыс өнімділігі графигі
Шындығында, бұл мәліметтердің жалғандығы жоқ.
... ... ... CPU –да практикада теориялық цифрларға қол жеткізу оңайырақ, ал
... ... ... GPU жағдайында бірлік дәлдікте, ал CPU жағдайында екілік дәлдікте
... ... ... Кез келген жағдайда параллель есептеп үшін бірлік дәлдік жеткілікті,
... ... ... әмбебап және графикалық процессорлардың жылдамдықтары арасындағы айырмашылық үлкен емес.
... ... ... CUDA бағдарламалау моделі
CUDA есептеулердің параллель моделін қолданады, мұнда
... ... ... процессорлардың әрқайсысы мәліметтердің әр түрлі элементтерімен бір ғана нұсқауды
... ... ... GPU есептеуіш құрылғы болып табылады, орталық процессор үшін қосымша
... ... ... рөлін атқарады, оның жады мен параллель түрде өңдейтін ағындар
... ... ... болады. Ядро дегеніміз – ағындар арқылы жүзеге асырылатын GPU
... ... ... айтылғанындай, бейнечип CPU-ден бірмезгілде бірнеш мыңдаған ағындарды өңдей алуымен
... ... ... Әрбір ағын скалярлық шама, мәліметтерді4-құраушылы векторларға жіктеуді талап етпейді,
... ... ... жайт көптеген есептер үшін ұтымды. Логикалық ағындар мен блоктардың
... ... ... физикалық орындау құрылғыларының санынан артық болады, бұл компанияның бірқатар
... ... ... желісі үшін ауқымдылықты арттырады.
CUDA бағдарламалау моделі ағындарды топтастыруды көздейді.
... ... ... ағын блоктарына (threadblock) — ағындардың бірөлшемді немесе екіөлшемді
... ... ... бірігіп, ажыратылатын жад пен синхрондау нүктелері арқылы өзара әсерлеседі.
... ... ... ағындар блогы торының үстінен орындалады. Бірмезгілде бір ған тор
... ... ... Әрбір блок пішіні бойынша бір, екі немесе үшөлшемді болуы
... ... ... және ағымдағы аппараттық қамтылуда 512 ағыннан құралады.
6 сурет
... ... ... CUDA бағдарламасының құрылымы
Ағындар блогы үлкен емес топтардан құралады, оларды
... ... ... деп атайды, өлшемдері – 32 ағын. Бұл мәліметтердің ең
... ... ... көлемі, олар мультипроцессорларда өңделеді. Осылайша, CUDA64-тен 512-ге дейінгі блоктармен
... ... ... жасауға мүмкіндік береді.
... ... ... 2.3. GPU-да параллель есептеулерді жүргізу облысы
Есептеулерді бейнечиптерге ауыстырудың артықшылықтар
... ... ... екендігін түсіну үшін әлем бойынша зерттеушілердің қол жеткізген орташаланған
... ... ... келтірейік. Орта есеппен есептеулерді GPU-ға тасымалдағанда көптеген есептерде жылдам
... ... ... жасайтын процессорлармен салыстырғанда 5-30 есеге дейін үдетуге болады. Ең
... ... ... цифрларға кодта жетуге болады: ол SSE блоктарының көмегімен есептеулер
... ... ... үшін жақсы сәйкес келмейді, бірақ, GPU үшін жақсы қолайлы.
Бұл
... ... ... SSE- векторланған кодына қарағандағы GPU-дағы синтетикалық кодтард үдетудің кейбір
... ... ... ғана:
7 сурет – CUDA бағдарламалау тілінің қолданылу аясы
Флуоресцентті
... ... ... 12х;
Молекулалық динамика (non-bonded force calc): 8-16x;
Электростатика (Кулонның тура және
... ... ... қосындылауы): 40-120x және 7x.
Ал мына кесте CUDA есептеулерінің практикалық
... ... ... қолданылуының нақты мысалдарын сипаттайды:
Көріп отырғандарыңыздай, берілген мәліметтер ауыз толтырып
... ... ... Әсіресе, 100-150 ретті өсімшелер таңдай қақтырады. Келесі тарауда осы
... ... ... біртқатарын талдайтын боламыз. Ал қазір GPU-дағы есептеулер қолданылатын негізгі
... ... ... талдайық: бейнелер мен сигналдарды талдау және өңдеу, физиканың симуляциясы,
... ... ... математика, есептеуіш биология, қаржылық есептеулер, мәліметтер базалары, газдар мен
... ... ... динамикасы, криптография, сәулелік терапия, астрономия, дыбысты өңдеу, биоинформатика, биологиялық
... ... ... компьютерлік көру, мәліметтерді талдау, сандық кино және телевидение, электромагниттік
... ... ... геоақпараттық жүйелер, әскери қолданыс, таулы жоспарлау, мұхиттық зерттеулер, бөлшектер
... ... ... ақуыз молекулаларының ұйылуының симулциясы, кванттық химия, сәулелерді трастілеу, бейнелік
... ... ... радарлар, серіктік мәліметтерді талдау, сейсмикалық барлау, хирургия, ультрадыбыс, бейнеконференциялар.
... ... ... көпядролы жүйелер. GPG эволюциясы. GPGPU
Кез келген есептегіш құрылғының негізгі
... ... ... бірі оның жылдамәрекеттілігі болып табылады. Математикалық есептеулерде бұл, әдетте,
... ... ... секундтағы floating-point операциялары мөлшерімен (Floops) өлшенеді. Осы кезде пиктік
... ... ... қарастырылады, яғни бір секундтағы заттық (floating-point) шамалармен мүмкін болатын
... ... ... саны (ал басқа операциялар мен жадқа басқа да мәліметтер
... ... ... кезде).
CPU мен GPU бойынша жүктеудің шынайы сандары
Расында шынайы жылдамәрекеттілік
... ... ... қарағанда әрдайым төмен болып келеді, себебі басқадай операцияларды да
... ... ... асыру және жадқа кіруді қамтамасыз ету қажет, т.б.
Дербес компьютер
... ... ... жылдамәрекеттілік орталық процессордың (СРU) тактілік жиілігімен тікелей байланысты.
... ... ... ж маусым айында пайда болған уақытынан бастап х86
... ... ... процессорлары өз тактілік жиіліктерін 700 есе арттырды (Intel 8086-да
... ... ... МГц, Intel Core i7-де 3,33 ГГц).
1 кесте -
... ... ... жиілік өсуінің динамикасы
Дегенмен, егер СРU жиілігінің динамикалық өсіміне көңіл
... ... ... онда оның соңғы жылдары жиілігінің өсуі тоқтап қалғанын байқауға
... ... ... бірақ жаңа тенденциясының – көпядролы процессорлар мен жүйелердің пайда
... ... ... және процессордағы ядролар санының артуына әкелді.
Бұл микросхемаларды өндіру технологияларының
... ... ... қатар, энергияны пайдалану (яғни, жылуды бөлу) жиіліктің төртінші дәрежесінепропорционалдығы
... ... ... де байланысты.Осылайша тактілік жиілікті 2 есеге ғана арттыра отырып,
... ... ... бөлінуді 16 есеге дейін арттырамыз. Осы уақытқа дейін бұл
... ... ... жеке элементтерінің өлшемдерін кішірейту арқылы жүзеге асырылып келді (осылайша
... ... ... kорпорациясы 32 нанометрлік технологиялық процесті қолдануға көшті).
Бірақ ары қарайғы
... ... ... қомақты шектеулер орын алады, сондықтан қазіргі уақытта жылдамәрекеттілік өсімі
... ... ... жұмыс жасаушы ядролардың санын арттыруға байланысты, яғни жылдамәрекеттілік
... ... ... арқылы өседі. Жақын арада бұл тенденция сақталады деген тұжырым
... ... ... болады, және осы бойынша 8- бен 12-ядролық процессорлардың пайда
... ... ... анық.
Программаны N процессорға (ядро) параллельдеуден алуға болатын максимал үдеу
... ... ... заңымен (Amdahl Law) беріледі:
S=1/((1+P)+(P/N))
Бұл формуладағы Р – N процессорға
... ... ... программаның орындалу уақытының бөлігі. Көріп отырғанымыздай процессордың санын N
... ... ... сайын ұтым 1/(1-P) ұмтылады. Осылайша, егер біз бүкіл программаның
... ... ... бөлігін параллельдесек, онда максимал ұтым 4 есеге ұлғаяды. Осы
... ... ... орындалуы үшін параллельдейтін жақсы алгоритмдер мен әдістерді қолдану маңызды.
... ... ... жүйелер
Иллюстрация ретінде бірнеше қолданыста бар көпядролы жүйелерді қарастырып көрейік:
... ... ... Core2 Duo және Intel Core i7.
3.1.1 Intel Core 2
... ... ... Intel Core i7
Intel Core 2 Duo процессоры екі ядродан
... ... ... және Р1) тұрады, олардың әр қайсысы өз L1–командалар кеші
... ... ... L2–мәліметтер кеші бар (әр қайсысы 32кбайттан) Pentium M процессоры
... ... ... табылады. Сонымен қатар екеуіне ортақ (2 немесе 4 Мб)
... ... ... ядро бірге қолдана алатын L2-кеші болады .
8 Сурет
... ... ... Intel Core 2 Duo процессоры схемасы
Core i7 процессоры төрт
... ... ... тұрады (Р0, Р1, Р2 және Р3). Мұндағы әрбір ядрода
... ... ... L1-мәліметтер кеші менL1-командалар кеші (әр қайсысында 32 Кбайттан) және
... ... ... (256 Кбайттан) болады. Сонымен қатар барлық ядроларға ортақ
... ... ... бар (8 Мбайт).
9 сурет - SMР-ның архитектурасы (құрылысы)
Бұл процессорлардан
... ... ... бұдан өзге де көпядролы процессорлар бар. Осындай жүйелердің бірі
... ... ... симметриялы мультипроцессорлық архитектуралар негізіндегі жүйелер болып есептеледі (Simmetric MultiProcessor
... ... ... SMP).
10 сурет - SMP-жүйесінің архитектурасы
Мұндай жүйелерде ядро өз L1
... ... ... L2 кештеріне ие, барлық ядролар ортақ шинаға жалғанған. Cache
... ... ... блогы басқа процессорлар арқылы жадтың өзерістерін зерттеп кештің
... ... ... жаңалап отырады – мысалы егер жадтың бір аймағы бірнеше
... ... ... бірдей сақталатын болса, онда кез келген бір ядросындағы жыдтың
... ... ... аймағының өзгерісі қалған барлық процессорлардың да жадтың осы бөлігімен
... ... ... жасайтын кешіне берілуі керек. Бұл бір шинамен байланысқан процессорлар
... ... ... архитектураларының типтік проблемасы болып табылады – мұнда көпядролы жүйелердің
... ... ... моменті әр процессор жадтың бүтін әрі дұрыс бейнесін «көруі»
... ... ... келеді, бұл өз кештерінің актуалдылығы үшін әр процессордың басқа
... ... ... жадқа обращениесін қадағалап отыруына алып келеді. Мұндай есеп процессорлар
... ... ... байланысты квадраттық күрделілікке ие.
3.1.2 BlueGene/L
Көппроцессорлы архитектуралардың тағы бір
... ... ... BlueGene/L суперкомпьютері болып табылады. Ол 65 536 екіядролы түйіндерден
... ... ... құралған. Әр түйіннің екі 770 МГц -ті PowerPC процессоры
... ... ... Олардың әрқайсысында өзінің бірінші және екінші деңгейлі кештері, floating-point
... ... ... үшін арнайы процессорлары (Double Hammer FPU) бар. Екі процессор
... ... ... үшінші деңгейдің 4Мб-тық ортақ кешіне (L3) жалғанған және 512
... ... ... болатын өз жадтық блогы бар (1.4-сурет).
11 сурет -
... ... ... архитектурасындағы бір түйіннің құрылғысы
Жеке түйіндер өзара порттар жинағы арқылы
... ... ... әдістермен жалғануы мүмкін. Осылайша, әрбір түйін басқа түйіндердің аз
... ... ... ғана обратиться ете алады, бірақ барлық түйіндердің жүйеге жалғануына
... ... ... мәлімдеме аз қадам санында кез келген басқа түйінге берілуі
... ... ... түйіннен екіншісіне мәлімдемені беруде қадам санын азайту үшін тороидалды
... ... ... топологиясы жақсы келеді. Онда барлық түйіндер куб түзеді
... ... ... әрбір түйінде нақты сегіз көрші болады. Егер түйін кубтың
... ... ... келген бір қырында жататын болса, онда жетіспейтін көршілерді ол
... ... ... жатқан қырлардан алады (12-сурет).
12 сурет - Екіөлшемді тороидалды куб
... ... ... архитектурада түйіндерді өзара қосудағы шектеулердің әсерінен осыншама көп түйіндерді
... ... ... компьютерге біріктіру жүзеге асты.
... ... ... 3.1.3 GPU архитектурасы
Графикалық процессорлары(GPU) да параллель процессорлар болып
... ... ... және 1.6-суретте GPU-дың G80 сериялы өте қарапайымдандырылған архитектурасы бейнеленген.
... ... ... көретініміз GPU-дің өз жады бар (DRAM), ал кейбір модельдерде
... ... ... 1Гбайтқа жетеді. Сонымен қатар GPU бірқатар ағындық мультипроцессорларға (SM,
... ... ... Multiprocessor) ие, олардың әр қайсысы біруақытта 768 операцияларды (1024–соңғы
... ... ... модельдер үшін) орындай алады. Ағындық мультипроцессорлардың осындай мөлшері GPU
... ... ... байланысты. Сөйтіп, GTX 280 процессоры 30 ағындық мультипроцессорға ие.
... ... ... мультипроцессор басқаларына тәуелсіз жұмыс жасайды.
13 сурет - G
... ... ... қарапайымдандырылған архитектурасы
3.2 GPU эволюциясы
GPU (Graphics Processing Unit) терминінің өзін
... ... ... алғаш рет Nvidia корпорациясы тек үшөлшемді графиканы үдетуге қолданылған
... ... ... күшейткішті белгілеу үшін пайдаланған, соңынан ол графикамен байланысы жоқ
... ... ... кең көлемін шешуде қуатты программалаушы құрылғы (процессор) болды.
Қазіргі заманғы
... ... ... – өте жоғарғы жылдамәрекеттілікке (бір терафлоптан артық) және өзінің
... ... ... жадына ие (DRAM) массивті-параллельдік есептегіш құрылғылар болып табылады.
Бірақ бастауы
... ... ... қарапайым басталды, ең алғашқы 3DFx компаниясының Voodoo күшейткіштері тереңдік
... ... ... текстураларды беттестіру мен альфа-блендингі бар растеризаторлар (үшбұрыштарды пикселдер массивіне
... ... ... болып келеді. Бұл кезде төбелерді өңдеу орталық процессор арқылы
... ... ... ал күшейткіш экранға түскен (яғни проекцияланған) төбелерді алып отырды.
Дегенмен
... ... ... қарапайым есепті универсал орталық процессордан бұрын Voodoo жылдам жасай
... ... ... мұның өзі 3D-графикалық күшейткіштердің кең таралуына жол ашты.
Мұның себебі
... ... ... күшейткіш пикселдің көп мөлшерін қарапайым операцияларды орындап жатса да
... ... ... өңдей алуында болды.
Жалпы рендерингтің дәстүрлі есептері параллель өңдеулерге өте
... ... ... сәйкес келеді – барлық төбелерді бір бірінен бөлек өңдеуге
... ... ... графиктер күшейткіштері пайда болған соң тез дамып, жылдамәрекеттілігінің артуымен
... ... ... оның функционалдылығы да артты. Осылайша кейінгі шыққан графикалық күшейткіштер
... ... ... Riva TNT) CPU-ды жеңілдете отырып төбелерді өздері өңдеп, бірнеше
... ... ... беттестірді.
Келесі қадам жеке фрагменттерді (пикселдерді) өңдеу кезінде бірнеше эффектілерді,
... ... ... пиксельдік жарықтандыруды жүзеге асыру үшін оралымдылықтыарттыру болып табылады.
... ... ... бұл сатысында толыққанды бағдарламалық фрагменттер өңдеушіні жасап шығару мүмкін
... ... ... дегенмен жаңадан пайда болған GeForse256 register combiner көмегімен айтарлықтай
... ... ... қамтамасыз етіле алады.
Бұл блоктар қарапайым операциялардыіске асыра алады. Сонымен
... ... ... бұл блоктарды жылдам настраивать етуге және олардың кіру мен
... ... ... өзара жалғауға болады. Қажетті register combiner-дің конфигурациясын жасап, негізгі
... ... ... пиксельдік жарықтандыру операцияларын орындауға мүмкіндік туды. Қазіргі кезде iPhone
... ... ... iPod Touch-та қолданылатын графикалық күшейткіш register combiner-ді де ұстайды.
Келесі
... ... ... бұл төбелік бағдарламалардың туындауы болды (Ge Forse 2) –
... ... ... өңдеу бойынша фиксацияланған қадамдардың орнына арнайы ассемблерде жазылған бағдарламаны
... ... ... мүмкін болды (листинг 1). Берілген бағдарлама әрбір төбе үшін
... ... ... орындалып отырды, және барлық жұмыс float-типті сандармен жүргізілді (өлшемі
... ... ... бит).
Келесі принципиалды қадам бұл осындай функционалдылықтың жеке фрагменттер деңгейінде
... ... ... болды– арнайы бағдарламалардың қолданылуымен жеке фрагменттерді өңдеу есебін беру
... ... ... Осындай мүмкіндік GeForse FX сериялы күшейткіштерде пайда болды. Жеке
... ... ... өңдеуге берілетін бағдарламаны қолданатын ассемблер төбелік бағдарламаларды беруде қолданылатын
... ... ... өте жақын, сонымен қатар float-типті сандар көмегімен барлық операцияларды
... ... ... асырды.
Бұл кезде төбелік пен фрагменттік бағдарламалар параллель орындалып жатты
... ... ... күшейткіш жеке төбелік процессордан және жеке фрагменттік процессордан тұрды).
... ... ... секундта өңделетін пикселдер мөлшері аса көп болғандықтан, нәтижесінде
... ... ... алынатын жылдамәрекеттілік сәйкесінше жоғары болды.
Графикалық күшейткіштер сол уақытында қуатты
... ... ... болды деуге болады. SIMD термині (Single Instruction Multiple Data)
... ... ... операцияны біруақытта көптеген мәліметтер бойынша орындай алатын қабілеті бар
... ... ... процессор дегенді білдіреді. SIMD-процессор кірісіне біртекті мәліметтер ағынын алады
... ... ... оларды параллель өңдеп жатады, мұнымен ол шығысындағы ағынды қамтамасыз
... ... ... (14-сурет).
14сурет - SIMD-архитектурасының жұмысы
Кіріс ағындарын шығыс ағындарына түрлендіруді қамтамасыз
... ... ... модульдің өзін ядро деп атау қабылданған (kernel). Жеке ядролар
... ... ... байланысуы мүмкін, бұл кіріс ағындарды өңдеудің күрделі сұлбаларын қолдануға
... ... ...
15сурет - Мәліметтерді өңдеудің күрделілігін
... ... ... бірнеше ядроларды байланыстыру
Қалқымалы нүктелері бар (8-битті мәнсіз бүтін сандардың
... ... ... 16- және 32-биттік типті float-тер) форматтағы мәнді текстураларды қосымша
... ... ... үлкен массивті мәліметтерді өңдеу үшін фрагменттерді қолдануға мүмкіндік берді.
Бұл
... ... ... мұндай массивтердің өздері GPU-ға текстураcы float типіндегі компонент мәндері
... ... ... берілді және өңдеу нәтижесі осындай типті басқа да текстураларда
... ... ... кірісіне үлкен массивті мәліметтерді және оларды өңдеуге арналған бағдарламаларды
... ... ... болатын және шығысында нәтижелер массивін алуға болатын қуатты параллель
... ... ... аламыз. Cg. GLSL, HLSL сияқты GPU үшін бағдарламалар жазуда
... ... ... тілдердің туындауы осы типтес мәліметтерді өңдеу бағдарламаларын жасауды біраз
... ... ... GLSL тіліндегі бағдарламаның (шейдер) мысалы келтірілген
Нәтижесінде GPGPU (General-Purpose computing
... ... ... Graphics Processing Units) сияқты бағыт пайда болды –графикалық емес
... ... ... шешу үшін графикалық процессорларды қолдану. Параллеллизмді жоғарғы деңгейде пайдалану
... ... ... жоғарғы өнімділікті алуға мүмкіндік туды – орталық процессормен салыстырғанда
... ... ... 10 есеге артық болып отырды.
Ресурсы кең сандық есептер GPU
... ... ... жақсы жататыны анықталды, осылайша оның сандық шешілуі жылдамдатылды. Сөйтіп,
... ... ... ойындар судағы тербелістерді есептеуге күрделі моделдерді қолданады. Бұл кезде
... ... ... реал уақыттағы дифференциалдық теңдеулерді GPU-да шешеді.
Бірнеше жылдар ішінде GPU
... ... ... қолданудың нәтижесінде үдеуді 10 есе арттыра отырып, бірқатар күрделі
... ... ... мәселелерді шешуге қол жетті (20-сурет).
Бейне мен видеоны GPU-ға өңдеу
... ... ... реал уақытта жұмыс жасай бастады (1 кадрдағы бірнеше секундтың
... ... ... кезде жобалаушылар графикалық процессорға жету үшін кең қолданыстағы графикалық
... ... ... (Open GL, Direct 3D) қолданды. Мұндай API- ды қолданып,
... ... ... кіруші мәліметтері бар текстуралар дайындалды. Осылайша рендеринг операциялары бойынша
... ... ... процессорда осы мәліметтерді өңдеу бағдарламасы іске қосылады. Нәтижелері текстуралар
... ... ... де берілді, кейін олар орталық процессордың жадына барып отырады.
... ... ... сурет - CPU мен GPU үшін өнімділіктің өсу динамикасы
Бағдарламалар
... ... ... екі тілде жазылды – дәстүрлі программалау тілінде, мысалы С++,
... ... ... шейдерлерді жазуға арналған тілде. Бағдарламаның бір бөлігі (дәстүрлі тілде
... ... ... мәліметтерді дайындау мен беруге, бағдарламаның шейдерлік тілдерде жазылған GPU-да
... ... ... асуына бағытталады.
Дегенмен дәстүрлі GPGPU кең таралуында бірқатар кемшіліктерге де
... ... ... Бұл кемшіліктердің барлығы GPU-дың мүмкіндіктерін қолдану графикамен жұмыс жасауға
... ... ... (Open GL, Direct 3D) АРI арқылы жүзеге асатындығында.
Нәтижесінде АРI-ге
... ... ... барлық кемшіліктері есептеулердің орындалуына әсер етеді.
Осылайша графикалық АРI -да
... ... ... өңделетін пикселдермен өзара әсерлесу мүмкіндігі жоқ, ал бұл графикада
... ... ... да қажет емес, бірақ есептеулерде бұл айтарлықтай қажетті болып
... ... ... АРI-лерге тиісті тағы бір кемшілік scatter типтес операциясын ұстамайтындығы.
... ... ... операцияның қарапайым мысалы кіруші мәліметтер бойынша гистограмма тұрғызу болып
... ... ... (кіруші мәліметтердің бір элементі гистограмманың алдын ала белгісіз элементінің
... ... ... алып келген жағдайда).
17 сурет - scatter және gather
... ... ... графикалық АРI-де шейдер баспаны тек белгілі бір жерге ғана
... ... ... алады, ал фрагменттік шейдерге алдын ала ол қандай фрагментті
... ... ... белгілі осылайша ол тек осы ғана фрагмент үшін мәліметті
... ... ... алады.
ТАғы бір кемшілік – бұл екі түрлі тілде программалау
... ... ... отыр: дәстүрлі және шейдерлік. Бұл жағдайлардың барлығы GPGPU-ды қолдануды
... ... ... қолданылатын алгоритмдерге шектеулер қояды. Сондықтан GPGPU-қосымшалардың шығуы қажет болды,
... ... ... бұл шектеулерге қатыссыз және күрделі есептерді шығара алды.
Мұндай тәсілдердің
... ... ... ретінде СUDA, Open GL, DX11 Computer Shaders
... ... ... алады.
4 CUDA-дағы бағдарламалау моделі
... ... ... 4.1.CUDA-ның бағдарламалы-аппараттық ағыны
Nvidia компаниясының ұсынған CUDA (Compute
... ... ... Device Architecture) технологиясы GPGPU-қосымшаларын жазуды едәуір жеңілдетеді. Ол
... ... ... АPI-ды қолданбайды, және оған қатысты шектеулерге де байланысы жоқ.
Берілген
... ... ... массивті параллель есептеу құрылғыларына қосымшаларды жобалау үшін арналған. Қазіргі
... ... ... Nvidia компаниясының барлық Ge Forse8-ден бастап GPU құрылғылары ұсталып
... ... ... технологиясының негізгі артықшылығы оның қарапайымдылығы болып табылады – барлық
... ... ... С тілінің «кеңейтілген» түрінде жазылады.
CUDA толықтай тегін болып келеді,
... ... ... SDK, құжаттары мен мысалдарын developer.nvidia.com сайтынан алуға болады. Қазіргі
... ... ... оның соңғы версиясыCUDA 2.3.
CUDA келесідей концепцияға негізделеді,ол CPU-ға (host)GPU-дың
... ... ... массивті-параллель сопроцессоры ретінде қолданылады. CUDA-дағы бағдарламасы CPU мен GPU-да
... ... ... жасай алады. Осы кезде қарапайым код СРU арқылы орындалады,
... ... ... массивті-параллель есептеулер үшін сәйкес код GPU-да біруақытта орындалатын ағындармен
... ... ... орындалады.
Осылайша, GPU арнайыландырылған есептеуіш құрал ретінде қарастырылады, ол:
СРU-ға сопроцессор
... ... ... процессор) болып табылады;
Өзінің жеке жадына ие;
Жеке операция ағындарын параллель
... ... ... мүмкіндігі бар
Осы кезде GPU мен CPU арасындағы айырмашылықтарды атап
... ... ... керек:
GPU-дағы жіпшелер түзілуі, басқарылуы мен жойылуынан құны төмен (жіпше
... ... ... төмен, барлық регистрлері алдын ала таралған);
GPU-ды эффективті жүктеу үшін
... ... ... мыңдаған жеке жіпшелерді қолдану керек, ал СРU үшін 10-20
... ... ... өзі жеткілікті.
CUDA-дағы программа қарапайым С тілінде жазылатындықтан оның қоданылуы
... ... ... оңай болып келеді. Сонымен қатар программисттің құзырында бақылау арта
... ... ... және GPU-мен жұмыс кезінде мүмкіндіктері артады.
Келесідей листингте қарапайым мысал
... ... ... бірөлшемді массивтерді қосқаннан пайда болған код фрагменті келтірілген.
Жоғарыда көрсетілген
... ... ... алғашқы функциясы (sumkernel) ядро болып табылады – ол әрбір
... ... ... жинағына (a[i], b[i], c[i]) бірдей орындалып отырады. _global_спецификаторы оның
... ... ... екендігін көрсетеді. Алғашында sumkernel функциясы енгізілген айнымалылары арқылы глобалды
... ... ... анықтайды. Жоғарыда көрсетілген мысал CUDA-ның қолданылуын жақсы бейнелейді:
Ондағы жадты
... ... ... жадындағы мәліметтерді GPU-дың ерекшеленген жадына көшіреміз;
Ядроны іске қосамыз;
Есептеулердің нәтижелерін
... ... ... CPU-дың жадына қайта көшіреміз;
GPU-дың ерекшеленген жадын босатамыз;
Барлық жіпшелер параллель
... ... ... әрбір жіпше енгізілген айнымалылар арқылы өзі туралы мәліметтер ала
... ... ... Мұндай әдіс SIMD-модельмен жұмысқа ұқсайды, дегенмен принципиалды айрмашылықтары бар.
... ... ... 32 жіпшеден тұратын 32 топқа бірігеді, олар warp делінеді.
... ... ... warp көлеміндегі операциялар біруақытта орындалады. Ал түрлі warp жіпшелері
... ... ... орындалуының түрлі стадиясында болуы мүмкін. Есепті шешу үшін
... ... ... параллель орындалатын жіпшелердің көп санын құрайды, осы кезде әрбір
... ... ... есептелетін мәліметтердің бір элементі сай келеді. Орындалуға жіберілген барлық
... ... ... келесідей иерархияға біріктірілген (22-сурет).
18 сурет - CUDA -дағы
... ... ... иерархия
Иерархияның жоғарғы деңгейі – тор (grid) – берілген ялдро
... ... ... барлық жіпшелерге сәйкес келеді. Жоғарғы деңгей бірөлшемді немесе екіөлшемді
... ... ... массиві болып келеді. Әрбір блок –бұл бірөлшемді, екіөлшемді немесе
... ... ... жіпшелер массиві болып табылады. Торды түзетін барлық блоктардың өлшемділіктері
... ... ... өлшемдері бірдей.
Тордағы әрбір блоктың бір не екі теріс емес
... ... ... сан болатын өз адресіне ие. Аналогиялы түрде блок ішіндегі
... ... ... жіпшенің де өз адресі бар. Бір ядроның бірнеше жіпшелерде
... ... ... орындалуына байланысты ядро жіпшенің номерін нақты анықтауы үшін threadIdx
... ... ... BlockIdx енгізілген айнымалылары пайдаланылады. Бұлардың әр қайсысы үшөлшемді бүтін
... ... ... вектор болып табылады. Олар тек GPU-да ғана орындалатынын атап
... ... ... керек. Сонымен қоса ядро тор мен блоктың өлшемдерін енгізілген
... ... ... gridDim, blockdim арқылы білуіне болады. Барлық жіпшелерді ұқыпты бөліп
... ... ... CUDA-ның қолданылуының жақсы бір әдісі болып табылады – бастапқы
... ... ... жеке шығарылатын есепшелерге бөлінеді (23-сурет).
19 сурет –
... ... ... есеп жеке шығарылатын есепшелерге бөлінуі
Бұл есепшелердің өзіне сай жіпшелер
... ... ... болады. Және бір есепшені шығаруда блоктың ішіндегі жүпшелердің барлығы
... ... ... орындайды. Блоктың ішіндегі жіпшелер өзара әсерлесуінің екі механизмі бар:
Бөлінетін
... ... ... (shared);
Барьерлік синхрондалу
Әрбір блок өзіне бөлінетін жадтың бөлігін алып отырады.
... ... ... жіпшелері міндетті түрде параллель орындалмайды, сондықтан блок жіпшелерін синхрондау
... ... ... қажет.
CUDA синхрондаудыңбарьерлік синхрондау делінетін қарапайым механизмін ұсынады. Оның орындалуы
... ... ... _syncthreads () енгізілген функциясы қажет, ол блоктың барлық жіпшелерінің
... ... ... функцияға енуін қамтамасыз етеді. Осылайша ядроның ішіндегі «барьерді» түзуге
... ... ... болады (24-сурет).
20 сурет - Барьерлік синхрондау
4.2 С тілінің
... ... ... үшін бағдарламалар «кеңейтілген» С тілінде жазылады және nvcc
... ... ... арқылы компиляцияланады. CUDA-дағы С тілінің енгізілетін кеңеюлер келесілерден тұрады:
Функцияның
... ... ... орындалатыны мен қайдан шақырылатындығын көрсететін функциялар спецификаторынан;
Берілген айнымалылары үшін
... ... ... типін беретін айнымалылар спецификаторы;
Мәліметтер мен жіпшелер иерархиясын беретін ядроны
... ... ... қосуға арналған директивалар;
Берілген жіпше жөнінде мәліметтері бар енгізілген айнымалылар;
Мәліметтердің
... ... ... типтері болатын runtime
... ... ... Функциялар мен айнымалылар спецификаторлары
CUDA-да 1-таблицада көрсетілген функциялар спецификаторы қолданылады.
2
... ... ... - CUDA-дағы функциялар спецификаторы
... ... ... _host_ және_device_спецификаторлары бірге пайдаланыла алады. _global_
... ... ... _host_ спецификаторлары бірге қолданыла алмайды.
_global_спецификаторыядроны білдіреді, сәйкесінше функция void
... ... ... мәнді қайтаруы қажет.
GPU-да орындалатын функциялар үшін (_device_және_global_) келесідей шектеулер
... ... ... адресін алуға болмайды (_global_функциясынан бөлек);
Рекурсияға қол жетпейді;
Функция ішінде static-айнымалыларына
... ... ... жетпейді;
Бастапқы аргументтерінің айнымалы санына қол жетпейді
GPU жадында айнымалыларды орналастыру
... ... ... келесі спецификаторлар қолданылады – _device_және_constant_, _shared_. Олардың да қолданысында
... ... ... шектеулер бар:
Бұл спецификаторлар құрылым өрісінде қолданыла алмайды (struct немесе
... ... ... айнымалылар тек бір ғана файл көлемінде пайдаланыла алады, оларды
... ... ... ретінде жариялауға болмайды;
_constant_типтес айнымалыларды жазу тек СРU-дың көмегімен арнайы
... ... ... арқылы жүзеге асады;
_shared_айнымалылары жариялау кезінде инициалдана алмайды.
4.3 CUDA host
... ... ... негізі
CUDA тек СРU-да қолданыла алатын бірқатар функцияларды ұсынады (CUDA
... ... ... API). Бұл функциялар келесідей міндеттерге ие:
GPU-ды басқару;
Контекстпен жұмыс;
Жадпен жұмыс,
Модульдермен
... ... ... орындауды басқару;
Текстуралармен жұмыс;
OpenGL мен Direct3D-мен әсерлесу
CPU үшін CUDA API
... ... ... API) екі формада беріледі:
Төмендеңгейлі CUDA driver API;
Жоғарыдеңгейлі CUDA runtime
... ... ... (CUDA driver API арқылы орындалады);
Бұл API бір бірін жоятын
... ... ... келеді – өз бағдарламаңызда тек бірімен ғана жұмыс жасауға
... ... ... 25-суретте CUDA –ның бағдарламалы-аппараттық ағынының түрлі деңгейлері көрсетілген. Көріп
... ... ... GPU- мен болатын барлық әсерлесу құрылғының драйвері арқылы ғана
... ... ... асады. Оның астында CUDA driver API, CUDA runtime API
... ... ... CUDA-кітапханалар орналасқан.
Бағдарлама жоғарғы деңгейлерімен әсерлесе алады – CUDA driver
... ... ... CUDA runtime APIжәне өз API-лары бар кітапханалар (CUFFT, CUBLAS,
... ... ... - CUDA-ның бағдарламалық ағыны
4.3.1 CUDA driver API
Төменгі деңгейлі API
... ... ... мүмкіндіктер береді және кодтың үлкен көлемін талап етеді. Берілген
... ... ... динамикалық кітапханасында орындалады, сонымен қатар ондағы барлық аттар cu
... ... ... арқылы басталады.
Кез келгенCUDA runtime API функциясында CUDA driver API
... ... ... тікелей аналогы бар, яғни алғашқысы екіншісіне өте алады, ал
... ... ... бұрыс болады.
4.3.2CUDA driver API алдыңғы версиялармен кері байланысқа ие
API-дің
... ... ... кодтың үлкен көлемі мен міндетті жөндеу, инициалдаудың қажеттілігі мен
... ... ... режимінің болмауы жатады.
Ары қарай осы API-ді қолдануды ең қарапайымы
... ... ... зерттейміз. Оның негізіндегі код қажет кезінде CUDA driver API-де
... ... ... жазылуы мүмкін, себебі соңғысында CUDA runtime API-де оның толықтай
... ... ... аналогтары бар.
CUDA-мен жұмыс кезіндегі негізгі момент – бұл API-дің
... ... ... функциялары –асинхронды болуында, яғни қажет операцияның аяқталуына дейін басқарудың
... ... ... операциялардың санына:
Ядроны іске қосу;
Аты Async-пен аяқталатын жадты көшіру функциялары;
devicedevice
... ... ... көшіру функциялары;
жадты инициалдау функциясы
GPU-дан жіпшені CPU-ға синхрондау үшін cudaThreadSynchronize
... ... ... қолданылады, ол CPU арқылы шақырылатын CUDA-ның барлық операцияларының аяқталуын
... ... ...
CUDA ағындар (streams) арқылы синхрондала алады – әрбір ағын
... ... ... тізбектілігін қамтамасыз етеді, ол белгілі бір ретпен орындалады. Бұл
... ... ... ағындар арасындағы операциялардың орындалу реті қатаң сақталмай, өзгеріп отыра
... ... ... CUDA runtime API функциясы (ядроны іске қосудан басқасы) cudaError_t
... ... ... мәнін қайтарады. Функцияның сәтті аяқталуы кезінде cudaSuccess мәні қайтарылады,
... ... ... басқа жағдайда қателік коды қайтарылады. cudaGetErrorString функциясы арқылы
... ... ... кодының сипатын тармақ түрінде алуға болады:
Сонымен қоса соңғы қателіктің
... ... ... cudaGetLastError функциясы арқылы алуға болады.
5.Сандық әдістеме
5.1.Дифференциалдық теңдеулердің жіктелуі
Есептеуші үшін
... ... ... теңдеулерді жіктей білу маңызды, өйткені, шешімнің сандық әдісін таңдау
... ... ... жағдаймен тығыз байланысты. Дифферен-циалдық теңдеулерді бірнеше белгілері бойынша жіктеуге
... ... ... Олардың ішіндегі маңыздыларына тоқталып өтейік.
- Қарапайым дифференциалдық теңдеулер және
... ... ... туындылы дифференциалдық теңдеулер
Егер дифференциалдық теңдеудегі белгісіз функция бір ғанаайнымалыға
... ... ... болса, онда мұндай дифференциалдық теңдеу қарапайымдифференциалдық теңдеу деп аталады.
Егер
... ... ... теңдеудегі белгісіз функция бірнеше айнымалыға тәуелді болса, онда мұндай
... ... ... теңдеу дербес туындылыдифференциалдық теңдеу деп аталады.
Мысалдар.
Құбырдағы сұйықтың стационар бірөлшемді
... ... ... қарапайым дифференциалдық теңдеумен сипатталады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (1)
өйткені, u(x) белгісіз функциясы бір ғана
... ... ... айнымалысына тәуелді.
Құбырдағы сұйықтың стационар екіөлшемді ағысы дербес туындылы дифференциалдық
... ... ... сипатталады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (2)
Мұндағы u(x,
... ... ... белгісіз функциясы екі айнымалыға тәуелді: х және у.
Реті
Теңдеудіңретідифференциалдықтеңдеудіңқұрамынакіретінеңжоғарғытуындыныңретінетең.
Мысалы, (1)
... ... ... – І ретті, ал (2) теңдеу - ІІ ретті.
... ... ... ретті теңдеуді жалпы жағдайда мынадай түрде көрсетуге болады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (3)
ІІ ретті теңдеулер келесі
... ... ... жіктеледі:
а) егер В2-4АС=0 болса, онда (3) параболалық теңдеу болады;
б)
... ... ... В2-4АС
в) егер В2-4АС>0 болса, онда (3) гиперболалық теңдеу болады.
(2)
... ... ... ретті теңдеуі параболалық теңдеу болып табылады (оны (3) түрге
... ... ... В2-4АС өрнегінің неге тең болатындығын анықтау арқылы тексеріңіз).
Эллипстік теңдеудің
... ... ... ретінде q(x,y) жылулық көзден температураның стационар таралуын бейнелейтін Пуассон
... ... ... айтуға болады (q(x,y)>0 болғанда (x,y) нүктесінде жылу бөлінеді, ал
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (4)
Гиперболалық
... ... ... мысалы ретінде тербелістер теңдеуін келтіреміз:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (5)
Теңдеудің түрі екінші ретті туындылардағы коэффициенттермен ғана анықталатындығын және
... ... ... ретті туындылар мен функцияның өзіне қатысты коэффициенттерге, бос мүшелерге
... ... ... болмайтындығын атап айтамыз.
Айнымалы коэффициенттері бар тағы бір теңдеуді қарастырайық:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... А=x, В=0, C=1, сәйкесінше, В2-4АС=-4х. Бұл мысал айнымалы коэффициенттері
... ... ... теңдеудің түрі нүктеден нүктеге дейін өзгеретіндігінің айқын дәлелі: х0
... ... ... болғанда (6) өрнек гиперболалық болады.
- Сызықтылық
Сызықты деп құрамындағы тәуелді
... ... ... мен оның барлық туындылары өзара сызықты байланысқан дифференциалдық теңдеуді
... ... ... оған қоса олар бір-біріне көбеймейді, дәрежеге шығарылмайды, трансцендентті функцияның
... ... ... бола алмайды және т.с.с.
Мысалы, (4)-(6) теңдеулер сызықты болса, (1)-(2)
... ... ... – бейсызықты (неге екенін түсіндіріңіз). (3) теңдеу сызықты деп
... ... ... егер A, B, C, D, E, F коэффициенттері
... ... ... белгісіз функциясына және оның туындыларына тәуелді болмаса.
Жылуфизикалық құбылыстар мен
... ... ... сипаттайтын теңдеулердің көпшілігі бейсызықты болады.
- Біртектілік
(3) дифференциалдық теңдеу
... ... ... деп аталады, егер оның оң жақ бөлігі барлық x
... ... ... y үшін нөлге тең болса. Керісінше жағдайда теңдеу біртексіз
... ... ... аталады.
Мысалы, (5) теңдеу – біртекті, ал (1), (2), (4),
... ... ... теңдеулері – біртексіз. Егер G=0 болса, (3) теңдеу біртекті
... ... ... аталады және G0 болса біртексіз болады.
Әдетте, аналитикалық жолмен қарапайым
... ... ... дифференциалдық теңдеулерді (оның ішінде де барлығын емес) және дербес
... ... ... дифференциалдық теңдеулердің кейбір арнайы түрлерін ғана шешуге болады. Қалған
... ... ... үшін, әсіресе, нақты есептерді сипаттайтын, тәжірибелік қолданысқа ие теңдеулер
... ... ... теңдеулер жүйесі үшін сандық әдістер жалғыз шешім беретін тиімді
... ... ... бірі болады.
... ... ... 5.2Айрымды схемаларды құрудың принциптері
5.2.1 Айырымды схемалар теориясының негізгі түсініктері
... ... ... белгілеулері
Шекті айырымдар әдісінің негізгі түсінігі мынада. Ортаның күйі үздіксіз
... ... ... бар f функциясының өзгерісінің дифференциалық теңдеуімен сипатталсын. Аргументтің үздіксіз
... ... ... облысы нүктелердің шекті санымен (түйіндермен) алмастырылсын. Түйіндер арасындағы қашықтық
... ... ... деп аталады (22–сурет).
22 сурет - Түйіндер арасындағы қашықтық
Түйіндердің
... ... ... торды береді, ал тордың өзі біртекті немесе біртексіз болады.
... ... ... f функциясы бір ғана айнымалығы тәуелді болса, онда
... ... ... бірөлшемді деп аталады, егер f бірнеше айнымалылардың функциясы
... ... ... онда тор көпөлшемді деп аталады. Шекті-айырымды тор бір ғана
... ... ... бойынша біртекті, ал екінші айнымалы бойынша біртексіз болуы мүмкін.
... ... ... 1-суретте х бойынша біртекті және у бойынша біртексіз тор
... ... ... сурет - Шекті–айырымды тор
Шекті–айырымды тордың көптеген түйіндерінде анықталған функция
... ... ... функциясы f деп аталады. Дифференциалдық теңдеудің құрамына енетін туындылар
... ... ... жуықталған алгебралық қатынастармен немесе шекті-айырымды аналогтармен алмастырылады (аппроксимацияланады) (27-сурет).
Осылайша
... ... ... аргументті f функциясы үшін дифференциалдық теңдеу f тор
... ... ... арналған алгебралық шекті-айырымды теңдеумен алмастырылады.
Шекті-айырымды схема дегеніміз - сәйкес
... ... ... шарттары бар дифференциалдық теңдеуді аппроксимациялайтын дискретті алгебралық теңдеулер жүйесі.
... ... ... теңдеудің жуық шешімі ретінде сәйкес айырымды теңдеудің шешімі –
... ... ... немесе көпөлшемді кесте түріндегі тор функциясы болады.
Шекті–айырымды схеманы құрастыру
... ... ... қолданылатын тор түйіндерінің жиынтығы шаблон деп аталады.
Алдағы уақытта біз
... ... ... модельдік теңдеуді қолданатын боламыз:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (7)
Бұл
... ... ... таңдап алыну себебі – ол бастапқы функцияның уақыт бойынша
... ... ... өзгерісін (теңдеудің сол жағындағы бірінші мүше), конвективті тасымалды (сол
... ... ... екінші мүше) және молекулалық тасымалды (теңдеудің екінші бөлігіндегі мүше)
... ... ... а коэффициенті кинематикалық тұтқырлыққа тең, егер f жылдамдық
... ... ... немесе D диффузия коэффициентіне тең, егер f концентрация с
... ... ... және ол температура өткізгіштік коэффициенті болады, егер f
... ... ... Т болса. Соңғы жағдайда fТ болғанда (8) теңдеу бірөлшемді
... ... ... сұйық тұрақты u жылдамдықпен қозғалған кездегі температура өзгерісінің
... ... ... процесін сипаттайды.
5.2.2 Дифференциалдық теңдеулерді шекті айырымдармен бейнелеу әдістері
5.2.2.1 Тейлор
... ... ... жіктеу әдісі f(х) функциясын хі нүктесінің маңайында Тейлор қатарына
... ... ...
мұндағы ЖРМ – жоғары ретті мүшелер.
Ықшамдау үшін төмендегідей белгілеулер
... ... ... = хі+1 - xі, fі+1 = f(xі+1),
... ... ... fі = f(xі), fі-1 = f(xі-1).
Соңғы
... ... ... жаңа белгілеулер арқылы жазайық:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (8)
Барлық жоғары ретті мүшелерді былайша белгілеп алайық:
,
онда (9)
... ... ... мынадай түрге ие болады:
.
Мұндағы O(x2) белгілеуі келесі қосылғыштардың
... ... ... кіші реті екіге тең екендігін білдіреді; қалған қосылғыштардың реті
... ... ... болады. Осы жерден і нүктесіндегі бірінші туындыны табайық:
.
O(x)
... ... ... енді келесі қосылғыштардың ең кіші реті бірге тең екендігін
... ... ... Қатарға жіктегенде пайда болатын осы қосымшаны алып тастап, бірінші
... ... ... үшін жуықталған өрнекті аламыз:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (9)
Бұл өрнек «алға» шекті–айырымды қатынасы немесе бірінші
... ... ... оң жақты шекті-айырымды аппроксимациясы деп аталады. (10) теңдеу
... ... ... туындыны х аппроксимация қателігімен аппроксимациялайды, яғни теңдеу бірінші ретті
... ... ... ие.
Туынды үшін шекті-айырымды өрнекті алу үшін f(х) функциясын хі-1
... ... ... Тейлор қатарына жіктеуге болады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... мынаны шығарып аламыз:
немесе
.
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (11)
Бұл өрнек «арытқа» шекті–айырымды қатынасы немесе бірінші туындының сол
... ... ... шекті-айырымды аппроксимациясы деп аталады. (12) өрнегі (10) өрнек сияқты
... ... ... ретті дәлдікке ие.
Туынды үшін шекті-айырымды схеманы f(х) функциясын Тейлор
... ... ... жіктеу арқылы алудың тағы бір үшінші әдісі бар. Ол
... ... ... (9) өрнегінен (2.4) өрнекті мүшелеп алып тастаймыз:
.
Осы жерден
... ... ... анықтаймыз:
немесе
.
Жоғарыдағы теңдеуден жуықталған өрнекті аламыз:
... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (12)
Бұл өрнек орталық шекті-айырымды қатынас деп
... ... ... және (10) пен (12) өрнектерге қарағанда екіншіретті дәлдікке ие,
... ... ... бұл өрнекті қорытып шығару барысында екінші ретті мүшелер ескерілмеді.
Осылайша,
... ... ... туынды үшін біз үш түрлі жуықталған өрнектерді алдық. Бір
... ... ... аталған үш теңдеудің бір-бірінен айырмашылығы жоқ сияқты көрінгенімен, шын
... ... ... і нүктесінде олар бірінші туынды үшін бірнеше есеге
... ... ... айырмашылығы бар мәндерді беруі мүмкін. Әсіресе, бұл жағдай f
... ... ... күрт өзгеретін аймақта айқын көрінеді. Ең дәл мәндерді (13)
... ... ... шекті-айырымды қатынас береді, өйткені, оның дәлдігінің реті жоғары. Дегенмен
... ... ... (13) өрнек әрқашанда жақсы нәтиже бере бермейді, тіпті, кейде
... ... ... схеманың орнықсыздығына алып келуі мүмкін. Ал дәлдігі аз (10)
... ... ... (12) өрнектерін таңдау кейде жемісті нәтижелер беруі мүмкін. Қарапайым
... ... ... (бір ғана айнымалыға тәуелді функциядан алынған бірінші ретті туынды)
... ... ... айырымдармен бейнелеуде белгілі бір таңдау болатындығына көз жеткіздік. Осының
... ... ... шекті-айырымды схемалардың түрлі нұсқалары шығатынын көруге болады.
Ендігі кезекте f(х)
... ... ... Тейлор қатарына бесінші мүшеге дейін жіктеудің екі нұсқасын пайдалана
... ... ... екінші туындының шекті-айырымды схемасын шығарайық:
.
Осы екі өрнекті
... ... ... мүшелеп қосайық:
.
Осыдан:
немесе нәтижесінде жазсақ:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (13)
Бұл
... ... ... (13) теңдеуге ұқсас екінші ретті дәлдікке ие, өйткені, оны
... ... ... барысында екінші ретті мүшелер алынып тасталған болатын.
Шекті-айырымды аппроксимация ұғымын
... ... ... туындыларға да қолдануға болады. Келесі белгілеулерді енгізейік:
fі,j = f(xі,yj),
... ... ... fі,,j,k = f(xі,yj,zk), =
... ... ... айнымалыға тәуелді функция үшін жазылған өрнектерге ұқсас Тейлор қатарына
... ... ... отырып, дербес туындылар үшін төмендегі шекті-айырымды қатынастарды алуға болады:
... ... ... т.б.
Енді бірінші туындылардың аппроксимациясы үшін орталық айырымды қатынастарды таңдап
... ... ... отырып, (8) теңдеуді шекті айырымдармен өрнектеп жазайық:
... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... (14)
Бұл өрнек екінші ретті дәлдікке ие. Шаблонның
... ... ... салу арқылы (3-сурет), оның үш қабатты бес нүктелік схема
... ... ... оңай көз жеткізуге болады. Мұндағы белгісіз - уақыт бойынша
... ... ... жақ қабаттағы f функциясының мәні, яғни ,
... ... ... (14) өрнектен оңай анықтауға болады:
24 сурет -
... ... ... қабатты бес нүктелік схема
Алайда, тәжірибеде мұндай схеманы пайдалану ұтымды
... ... ... Барлық мүмкін болатын t>0 үшін бұл схема сандық орнықсыз,
... ... ... бастапқы (8) дифференциалдық теңдеудің шешімімен ешқандай ортақтығы жоқ, хаостық
... ... ... тууына алып келеді.
5.3 Рунге-кутта әдісі
Айталық u_i-дің жуық мәндері
... ... ... нүктелерінде есептелген болсын. Енді u_(i+1 ) 〖 мәндерін
... ... ... мәндерінде есептеу керек. Ол үшін бүтін l санан
... ... ... келесі өрнектерді есептейміз:
... ... ... ... ... ... ├ █(k_1=G(x_i,u_i)@k_(2
... ... ... ),@k_3=G(x_i+βh,u_i+βhk_2 ),@…………………………@k_1=G(x_i+γh,u_i+γhk_(l-1) ).)}
... ... ... ... ... ... ... ... ... ... ... ... (15)
Осыдан кейін
L_h
... ... ... k_1+p_2 k_2+⋯p_1 k_1 )=0, i=0,1,……,N-1@u_0=A)
... ... ... ┤(16)
α,β,….,γ және p_(1,) p_2,…p_1 коэффициенттерін
... ... ... l үшін аппроксимация реті соғұрлым жоғары болатындай етіп
... ... ... Егер u_i-ді білсек, онда k_1,k_2,〖…..,k〗_1 коэффиценттерін есептей алмыз. Сонан
... ... ... ... ... ... ... ... ... u_(i+1)=u_i+h(p_1 k_1+p_2 k_2+⋯p_1 k_1)
... ... ... ... ... ... ... ... ... ... ... ... (17)
Эйлер схемасы Рунге-Куттa схемасынан l=1 болғанда
... ... ... 1
L_h u_h={█((u_(i+1)-u_i)/h-1/6 (k_1+2k_2+2k_3+k_4 )=0, i=0,1,……,N-1@u_0=A)┤
... ... ... (18)
Мұндағы
k_1=G(x_i,u_i), k_2=G(x_i+h/2,u_i+k_1 h/2), k_3=G(x_i+h/2,u_i+k_2 h/2),
k_4=G(x_i+h,u_i+k_3 h),
... ... ... схемасының аппроксимация реті төртке тең, яғни дәлдігі O(h^4).
Теорема 2
L_h
... ... ... k_1+1/2a k_2 )=0, i=0,1,……,N-1
... ... ... ... ... ... (19)
Мұндағы
k_1=G(x_i,u_i), k_2=G(x_i+ah,u_i+〖ahk〗_1),
... ... ... Рунге-Куттa схемасының аппроксимация реті кез келген тұрақты a үшін
... ... ... тең, яғни дәлдігі O(h^2).
6 Дербес дифференциялдық теңдеулер жөніндегі алғашқы
... ... ... өндірістік және ғылыми тәжірибелерде кездесетін кейбір физикалық құбылыстарда, оның
... ... ... айнымалы шамалар арасындағы тәуелділігі тек бір тәуелсіз айнымалы шаманың
... ... ... және оның дифференциялы қамтылған теңдеу болатындығын яғни жәй дифференциялдық
... ... ... арқылы баяндауға болады.Көп тәуелсіз айнымалы шамасы бар физикалық барыста,оның
... ... ... шамалар арассындағы тәуелділігі дербес дифферениялды теңдеулер арқылы баяндалады.Төменде біз
... ... ... күйдегі мысалдарды көрсетеміз.Мысалы :
Ішек тербелісі құбылысын бейнелейтін ішек тербелісі
... ... ... ... ... ... ... ... ... ... ... ... (∂^2 u)/( ∂t^2 )=a^2
... ... ... u)/(∂x^2 ) + f(x ,t) ,
... ... ... ,t).
... ... ... ... ... ... ... ... ... (20)
Жылу өткізу құбылысын
... ... ... жылу өткізу теңдеуі:
... ... ... ... ... ... ... ... ... (∂^2 u)/(∂t^2
... ... ... ((∂^2 u)/(∂x^2 )+ (∂^2 u)/(∂y^2 )+ (∂^2 u)/(∂z^2 )
... ... ... ), u=u(x, y, z ,t).
... ... ... ... ... ... ... ... ... (21)
Орнықты құбылысты бейнелейтін лаплас теңдеуі
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... u)/(∂x^2 )+ (∂^2 u)/(∂y^2 )+ (∂^2 u)/(∂z^2 ) =0,
... ... ... u=u(x, y, z).
... ... ... ... ... ... ... ... ... (22)
Қатарлылар,осы
... ... ... теңдеу түгелдей белгісіз функтцияның тәуелсіз айнымалы шама жөніндегі дербес
... ... ... қамтылған,әдетте осы түрдегі теңдеулерді дербес дифференциялды теңдеулер деп атайды,
... ... ... жеке жеке белгілі бір барыстың физикалық заңдылығының математикалық өрнектелуі
... ... ... табылады.
Жәй дифференциялды теңдеулер сияқты дербес дифференцялдық теңдеудегі белгісіз функтция
... ... ... ең жоғарғы рет саны дербес дифференциялды теңдеудің реті деп
... ... ... теңдеу тек белгісіз функтция және оның әрқайсы реттегі дербес
... ... ... бірінші дәрежелі мүшесін қамтитын болса,бұл теңдеу сызықтық дифференцииялды теңдеу
... ... ... аталады.Егер сызықтық теңдеу белгісіз функтция және оның әрқайсы реттегі
... ... ... туындыларының коэффиценттері түгелдей тұрақты сан болса,онда тұрақты коэффицентті сызықтық
... ... ... дифферениялдық теңдеулер деп атайды.Іс жүзінде қолдануларда кездесетін дербес дифференциялды
... ... ... көбінесе екінші ретті сызықтық дербес дифференциялдық теңдеулерге жатады.Жоғарыда мысал
... ... ... көрсетілген үш теңдеу түгелдей екінші ретті сызықты тұрақты коэффицентті
... ... ... дифференциялды теңдеу болып табылады.
6.1Жылу өткізу теңдеуі
Төменде біз ұзындығы L
... ... ... x өсін бойлап қойылған біркелк таяқшаны қарастырамыз.егер таяқшаның
... ... ... бөлігінде жылу қайнары жоқ, бүйір беті жылу өткізбейді, яғни
... ... ... жылу бүйір беті арқылы таралмайды, әрі таяқша жеткілікті жіңішке
... ... ... , кез келген уақытта қима беттегі барлық нұктелердің темпратурасы
... ... ... деп жорамалдасақ, онда темпратураның таяқша ішіндегі таралу барысын бір
... ... ... u(x,t) функциясы арқылы өрнектеуге болады. Бұл
... ... ... функциясы – таяқша қима беттің x
... ... ... t уақыттағы темпратурасын өрнектейді.
Егер біз жылу өткізу
... ... ... негіз етіп, алдымен жылу өткізу барысына тәуелді физикалық заңдылықтарды
... ... ... щықсақ, сонымен бірге оларды матиматикалық тіл арқылы баяндасяқ, сосын
... ... ... жақтан
біржақтылы етсек, онда u(x,t) функциясын қанағаттандыратын теңдеу төмендегідей
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... u)/( ∂t^2 )=a^2 (∂^2 u)/(∂x^2 )
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (23)
Бұнда
... ... ... 2 тұрақты сан болып жылу өткізу коэффиценті деп
... ... ... бұл теңдеуді бір өлшемді жылу өткізу теңдеуі деп атайды.
Егер
... ... ... кеңістіктегі белгілі бір біркелкі дененің ішінде таралса , онда
... ... ... сияқты бұл дененің әрбір нүктесіндегі темпратурасы u(x, y, z)
... ... ... тің үлестірілуі төмендегі теңдеуді қанағаттандыратындығын келтіріп шығаруға болады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (∂^2 u)/(∂t^2 )=a^2
... ... ... u)/(∂x^2 )+ (∂^2 u)/(∂y^2 )+ (∂^2 u)/(∂z^2 )
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (24)
Бұндағы t уақытты
... ... ... (x, y, z) дене бойындағы әрқайсы нүктелердін кординаталарын өрнектейді.
... ... ... теңдеуді үш өлшемді жылу өткізу теңдеуі деп атайды.
Қарастырылатын жылу
... ... ... барысын анықтау үшін, осы физикалық процестің жәй заңдылығын бейнелейтін
... ... ... теңдеуін беруден тыс, тағыда физикалық барысқа негізделіп, алғашқы шарт
... ... ... шекаралық шарт берілуі керек. Алғашқы шарт алғашқы уақыт t=0
... ... ... таралу жағдайын бейнелесе, ал шекаралық шарт жылу өткізетін дененің
... ... ... темпратура жағдайын бейнелейді. Сондықтан жылу өткізу барысында тек оның
... ... ... теңдеуі, шекаралық шарты, сондай-ақ алғашқы шарттары берілсе, онда біз
... ... ... өткізетін дененің ішіндегі әрқайсы нүктенің t=0 ден кейінгі уақыттардағы
... ... ... бүтіндей белгілей аламыз.
Мысал, таяқшаның екі ұшының темпратурасы нөлдік күйді
... ... ... жылу өткізу мәселесі, яғни тиянақты шешім мәселесі:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (∂^2 u)/(∂t^2 )=a^2 (∂^2 u)/(∂x^2 )
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (25)
... ... ... ... ... ... ... ... ... ... ... ... u(0 ,t) =0, u(L
... ... ... t) =0
... ... ... ... ... ... ... ... ... ... ... ... (26)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... u(x ,t)=φ(x)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (27)
шешімін табайық.
... ... ... Бұндағы X(x) тек x тың, T(t) тек t
... ... ... функциясы, теңдеу (23) әрі шекаралық шарт (24)
... ... ... орнына қойсақ
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... a2 x˝T,
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (28)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (0)T(t)=0,
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (29)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (L)T(t)=0.
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (30)
T(t)≠0 болғандықтан X(0)=0 , X(L)=0.
(26) теңдеудің
... ... ... жағын a2xT ге бөлсек
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (T
... ... ... T)=(x˝)/x= -λ
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (31)
Осы арқылы төмендегідей екі теңдеулер цистемасы шығады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... {█(X˝+λX=0,@ X(0)=0
... ... ... ... ... ... )┤
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... +a2λT = 0.
... ... ... ... ... ... ... ... ... ... ... ... (33)
Біз алдымен X жөніндегі теңдеу (30)
... ... ... (31) теңдеуге қарасақ, таппақшы болған шешім мәнге ие болу
... ... ... λсөзсіз нөлден үлкен болуы, сондай ақ төмендегідей мәндерді алуы
... ... ... яғни
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... λ= (( πn)/L)2
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (34)
Ендеше сәйкесті түрде
... ... ... теңдеудің шарты (30) теңдеуді қанағаттандыратын нөл болмаған шешімі
... ... ... ... ... ... ... ... ... X(x) =
... ... ... sin( πn)/L x , n =1, 2,
... ... ... …
... ... ... ... ... ... ... ... ... ... ... ... T жөніндегі (11) теңдеуін (12) бойынша
... ... ... ... ... ... ... ... ... ... ... ... T' + (n^2 π^2
... ... ... T =
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... шешімі T(t) = Be^(‒(a^2 n^2 π^2)/L^2 ) ,
... ... ... 2, 3,…
... ... ... ... ... ... ... ... ... ... ... ... (37)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Осы арқылы функция
... ... ... ... ... ... ... ... ... u(x, t) = An〖 e〗^(‒(a^2 n^2
... ... ... )sin ( πn)/L x , n =1, 2,
... ... ... …
... ... ... ... ... ... (38)
Теңдеу (23) әрі шарт (24) ты
... ... ... дербес шешімі екендігі келіп шығады. Барлық осындайдербес шешімдер қосындысы:
... ... ... ... ... ... ... ... ... u(x , t) = ∑_(n=1)^∞▒u_n
... ... ... (x,t)= ∑_(n=1)^∞▒A_n 〖 e〗^(‒(a^2 n^2 π^2)/L^2 )sin (
... ... ... x
... ... ... (39)
Ең соңында (37) теңдеуде алғашқы шарт (25)
... ... ... қанағаттандыратындай етіп, (34) дегі коффицентті талдау керек, бірақ алғашқы
... ... ... (25) теңдеуден
... ... ... ... ... ... ... ... ... φ(x) =u(x, 0) = ∑_(n=1)^∞▒A_n sin ( πn)/L
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (40)
Егер φ(x) ті [0,
... ... ... синус прогрециясына жіктесек, яғни
... ... ... ... ... ... ... ... ... ... ... ... = ∑_(n=1)^∞▒φ_n sin ( πn)/L x
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (41)
... ... ... ... ... ... ... ... ... 〖
... ... ... φ〗_n=2/L ∫_0^L▒〖φ(ξ)〗sin( πn)/Lξdξ
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (42)
Прогреция (39) бен (38) ды
... ... ... (37) теңдеу алғашқы шартты қанағаттандыру үшін,A_n=φ_n сөзсіз
... ... ... яғни ,A_n=φ_n ді (27) теңдеудегі орнына қою арқылы
... ... ... болған шешім шағады.
6.2 Лаплас теңдеуі
... ... ... Жылу мөлшері орнықты болғанда, яғни темпратура уақытқы ілесіп өзгермей,
... ... ... нүктенің орнымен байланысты болған кезде, жылу өткізу теңдеуі лаплас
... ... ... өзгереді. Үш өлшемді жылу өткізу теңдеуін қарастырайық:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (∂^2 u)/(∂t^2 )=a^2 ((∂^2
... ... ... )+ (∂^2 u)/(∂y^2 )+ (∂^2 u)/(∂z^2 ))
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (43)
Бұндағы u айнымалы шамалар x, y, z,
... ... ... лардың функциясы. Егер u функциясы t уақытпен қатысы болмаса,
... ... ... u)/(∂t^ )=0 болып (38) өрнек
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... Δu=(∂^2 u)/( ∂x^2 )+ (∂^2 u)/(∂y^2 )+ (∂^2 u)/(∂z^2
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (44)
Бұл теңдеуді лаплас теңдеуі деп
... ... ... Лаплас теңдеуі тек орнықтылық барысының жалпы заңдылығын
... ... ... егер нақты барысты белгілеу үшін, тағыда қосымша шарттар
... ... ... керек. Бірақ лаплас теңдеуі орнықты болған құбылысты бейнелейтіндіктен ,
... ... ... зерттелетін функция u уақытта ілесіп өзгермейтіндіктен, алғашқы шарт
... ... ... құнын жояды, сондықтан біз тек шекаралық шартты ғана ойластыруымыз
... ... ... екендігіне көніл бөлуіміз керек. Әрине, ұқсамаған мағынадағы физикалық күй
... ... ... , оған сәйкесті тұрде ұқсамаған шекаралық шарт беріледі. Ұқсас
... ... ... лаплас теңдеуі жөнінде, берілген шекаралық шарты ұқсас болғандықтан,
... ... ... лаплас шекаралық мәселесін қалыптастырады. Бұл арада пайдалану үшін ортақ
... ... ... мысал келтірейік.
Мысал, бір парта жұқа тақтаның , темпратура орнықты
... ... ... кездегі темпратура таралуын қарастырайық. Егер тікелей өлшеу арқылы оның
... ... ... шекарасындағы әрбір нұктесінің темпратурасын өлшеуге болса, онда осы парша
... ... ... тақтаның ышкы бөлігіндегі темпратура таралуын анықтауға болама? Егер ойластырғанымыз
... ... ... шеңбе тәрізді жұқа тақта болса, онда бұл мәселенің матиматикалық
... ... ... төмендегідей тиянақты шешім мәселесі болады, яғни теңдеуі
... ... ... ... ... ... ... ... ... ... ... ... (∂^2 u)/(∂x^2 )+ (∂^2 u)/(∂y^2 )=0
... ... ... ... ... ... (x2+y2≤ R_0^2)
... ... ... ... ... ... ... ... ... ... ... ... (45)
Шекаралық шарт:├ u┤|_s=f(x, y)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (46)
Қанағаттандыратын шешімін
... ... ... болып табылады, мұнда S центрі бас нұкте, радюсы болған
... ... ... қарапайымдастыру үшін, шеңбер центрі поляр нүктесі болатын полярлық координата
... ... ... , онда теңдеу пен шекаралық шарт тың формасы төмендегідей
... ... ... ... ... ... ... ... ... ... ... ... P2∂u/(∂p^2 )+p ∂u/(∂p^ )+∂u/(∂φ^2 )=0,
... ... ... (p≤R0)
... ... ... ... ... ... ... ... ... (47)
... ... ... ... ... ... ... ... ... u(R0 , φ) = f1(φ), [f1(φ)=f(R0cosφ
... ... ... R0sinφ)].
... ... ... ... ... ... (48)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Айнымалы шамаларды айыру тәсілін қолданып мынаны алымы
u(p, φ)
... ... ... R (p) ϕ (φ)
Бұл өрнекті теңдеудегі орнына қойып
... ... ... P2R˝(p) ϕ (φ) + PR'(p) ϕ (φ)+ ϕ
... ... ... R(p)=0
Немесе
... ... ... ... ... ... ... ... ... -(φ˝(φ))/(ϕ(φ))= (p^2
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... тұрақты санб енді екі түрлі жағдайға бөліп талқылайық:
n≠0 болғанда
... ... ... теңдеу арқылы
... ... ... ... ... ... ... ... ... ... ... ... ϕ˝(φ) + n2(8) (φ) =
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... P2R˝(p) +pR'(p) -
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (51)
(47)Теңдеу бойынша ϕ (φ)=Acosnφ + Bsinnφ
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (52)
(49)Теңдеу эйлер теңдеуі болып табылады, оның шешімін табу
... ... ... p=er деп ұйғарсақ, онда
... ... ... ... ... ... ... ... ... ... ... ... R'=1/(p ) dR/dr, R˝=1/p^2
... ... ... ((d^2 R)/dr‒dR/dr).
(48) теңдеудегі орнына қойғанда
(d^2 R)/(dr^2 )‒n^2 R=0.
Бұл теңдеудің
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (53)
(49),
... ... ... теңдеулерді (44) теңдеудегі орнына қойғанда
... ... ... ... ... ... ... ... ... U(p, φ) (Acosnφ +
... ... ... Bsinnφ)( Ce^n+Dp^(‒n)).
... ... ... ... ... ... (54)
(42) n=0 болғанда,
... ... ... φ)=0 мен
... ... ... p R˝(p)+R'(p)=0,
... ... ... ... ... ... ... ... ... ... ... ... (p, φ)=(A0 + B0φ)(C0 + Dlnp ).
... ... ... ... ... ... ... ... ... ... ... ... (55)
бұл арада мыналарға көңіл бөлу керек:
(48)теңдеудегі
... ... ... сан нөлден үлкен немесе нөлге тең болады, егер олай
... ... ... -(ϕ˝(φ))/(ϕ(φ))=‒n^2 деп ұйғарсақ, онда
... ... ... ... ... ... ... ... ... ... ... ... ϕ(φ)=0,ϕ(φ)=Ae^nφ+Be^(‒nφ
... ... ... )
... ... ... (56)
Сонымен кез келген нақты сан
... ... ... барлығы дің периодты функциясы болмайды, бұл жоғарыдағы қойылған шартқа
... ... ... артып 2π болған кезде координат басын орай бір айналады,
... ... ... кезде бір мәнді функция u(p, φ) бастапқы мәніне
... ... ... Яғни (54) теңдеудегі φ ға тәуелді болған бірінші көбейткіш
... ... ... периотты 2π болған функциясы, сондықтан (53)теңдеудегі n тек
... ... ... сандарды алуы мүмкін, яғни n=±1, ±2,±3, …, сонымен
... ... ... периоттық қасиетінен теңдеуде болатындығын білуге болады.
(53) теңдеудегі анықталатын тұрақты
... ... ... қалағанша болу қасиеті болғандықтан , тұрақты сан n тек
... ... ... бүтін сандар қабылдайды, яғни n=1, 2, 3, … ендеше
... ... ... төмендегі формада өзгертіп жазуға болады:
u_n(p, φ)=(A_n cosnφ+B_n sinnφ)(C_n p^n+D_n
... ... ... );
u_0(p, φ) = A_0(C_0+D_(0 )np).
Шеңбер центрі p=0де ,
... ... ... u(p, φ) шекті әрі үздіксіз, сондықтан D_0=0;〖 D〗_n=0
... ... ... n=1, 2,…; сондықтан
u_n( p, φ) =(A_n^ˊ cosnφ+B_n^ˊ sinnφ)p^n,
... ... ... n=1, 2, …;
u_0( p, φ) = A_0 C_0=(A_0^ˊ)/2,
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (57)
Бұндағы A_n^ˊ мен
... ... ... B_n^ˊ мен B_n C_nді, A_0/2мен A_0 C_0 ды белгілейміз.
... ... ... қортындылву арқылы (55), (56)теңдеулермен анықталған функция u_n(p,
... ... ... (n=1, 2, …) мен u_0(p, φ) функциялары түгелдей (46)теңдеудің
... ... ... шешімі болатындығын білуге болады. біз жоғарыдағы (46)теңдеудің барлық
... ... ... шешімдерін қосып, әрі ол функция u(p, φ) ге
... ... ... дкп жорамалдаймыз. Яғни
Арине, егер өрнек (57) нің өң
... ... ... прогрециясы p және φ
жөніндегі екі рет туындылауға
... ... ... онда u(p, φ) функцияныңда (43)теңдеудің шешімі екендігі өте айқын.
... ... ... соңында теңдеу (43) әрі шекаралық шарт (44)ны қанағаттандыратын шешімді
... ... ... керек, енді біз бірілген шекаралық шарт (44)ны қанағаттандыратын шешімді
... ... ... керек, енді біз берілген шекаралық шарт (44)бойынша (54) теңдеудегі
... ... ... келген түрақты сан A_n^ˊмен B_n^ˊды анықтайық.бұл үшін функция
... ... ... ты төмендегідей фурие қатарына жіктейміз:
f_1 (φ)=a_0/2 +∑_(n=1)^∞▒〖(a_n cosnφ+β_n sinnφ)〗,
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (58)
Бұндағы
a_0=1/π ∫_(-π)^π▒〖f_1 (φ)dφ,a_n=1/π ∫_(-π)^π▒〖f_1 (φ)cosnφdφ〗〗;
β_n=1/π ∫_(-π)^π▒〖f_1 (φ)sinnφdφ,〗
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Ал тағы
... ... ... жағынан (24) мен (35) бойынша төмендегідей болады:
f_1 (φ)=(A_0^')/2+∑_(n=1)^∞▒〖(A_n^' cosnφ+〖B^'〗_n
... ... ... 〗,
... ... ... ... ... ... ... ... ... ... ... ... (59)
(58) бен (60) ны
... ... ... арқылы 〖A'〗_0=a_(0 ), 〖A'〗_n=a_n/(R_0^n ),〖 B'〗_n=β_n/(R_0^n )
... ... ... шығады, оларды (57) теңдеудегі орындарына қойғанда мынаны аламыз:
u (p,φ)=a_0/2+∑_(n=1)^∞▒(P/R_0
... ... ... cosnφ+β_n sinnφ) ,
... ... ... ... ... ... ... ... ... ... ... ... (60)
Бұндағы α0
... ... ... αn , βn коэффиценттер формула арқылы анықталады. Сонымен (61),
... ... ... теңдеу әрі шекаралық шарт (47)ны қанағаттандыратын шешімі болады.
(61) теңдеуден
... ... ... теңдеуге әрі шешімін тиянақтандыру шарты (47)ны қанағаттандыратын шешіміне ие
... ... ... үшін, тек шекралық функция дың фурэ прогрециясын жазып, одансоң
... ... ... прогрецияның n+1 ынші мүшесіне 〖(p/R_0 )〗^nкөбейту тиіс екендігі анықталады.
Егер
... ... ... көффиценттері (49)ды (61)теңдеудегі орнына қойып , әрі қосынды табумен
... ... ... ретін табуға болады десек, онда төмендегідей шығады:
u(p,φ)= 1/π ∫_(-π)^π▒〖(φ){1/2+∑_(n=1)^∞▒〖(p/R_0
... ... ... ┤ 〗(cosnφcosnφ+sinnφsinnφ)├ }dφ
=1/π ∫_(-π)^π▒〖f_1 (φ)〗[1/2+∑_(n=1)^∞▒〖(P/R_0 )^n cosn(ϕ-φ)]dφ.
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (59)〗
Төмендегі
... ... ... теңдіктен пайдалансақ:
1/2+∑_(n=1)^∞▒〖t^n cosn(ϕ-φ)〗=1/2+1/2 ∑_(n=1)^∞▒〖t^n [e^in(ϕ-φ) +e^(-in(ϕ-φ) )]〗 =1/2[1+(te^i(ϕ-φ) )/(1+e^ti(ϕ-φ)
... ... ... )+(te^(-(ϕ-φ) ))/(1-e^i(ϕ-φ) )]=1/2+(1-t^2)/(1-2tcos(ϕ-φ)+t^2 ), (|t|
Тепе теңдіктегі t
... ... ... p/R_0 ға алмастырғаннан кейін, (62)теңдеудегі орнына қойғанда төмендегідей шығады:
... ... ... ... ... ... ... ... ... U(p,φ)=1/2π ∫_(-π)^π▒█(f_1 (φ) (1-p^2/(R_0^2 ))/(p^2/(R_0^2 )-2 P/(R_0
... ... ... cos(ϕ-φ)+1)) dφ,@)
... ... ... ... ... ... ... ... ... (61)
Яғни
... ... ... ... ... ... U(P,φ)=1/2π ∫_(-π)^π▒〖(R_0^2-P^2)/(P^2-2R_0 Pcos(φ-ϕ)+R_0^2 ) f_1 (φ)dφ〗
... ... ... ... ... ... ... ... ... (62)
Бұл пуассон формуласы деп аталады.
7 Сақталу
... ... ... Массаның сақталу заңы
Бақылаушы көлем үшін масса балансының қатынасы үзіліссіздік
... ... ... береді. Бақылаушы көлемнің беті арқылы масса ағыны мынаған тең:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (63)
Бұл теңдеу жалпыланған тасымал теңдеуінен алынады:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... (64)
7.2 Импульстің сақталу
... ... ... балансының қатынасы Ньютонның екінші заңына негізделеді. Бақылаушы көлемдегі сұйық
... ... ... өзгерісі барлық сырттан берілген күштердің қосындысына тең. Бақылаушы көлем
... ... ... (25 сурет) – бұл беттік күштер (қысым және үйкеліс
... ... ... мен тиімді көлемдік күштер. Көлемдік күштер сыртқы күштер сияқты
... ... ... істейді және мысалы, гравитация күштерімен немесе электромагнит өрісімен түсіндіріледі.
... ... ... күші, оның нормалі мен баөылпушы көлемнің бетіне бағытталған тангенциаль
... ... ... сұйық қозғалысының күйіне тәуелді болады және тұтқыр крнеу тензорлары
... ... ... жазылады.
Импульс ағыны сонымен қатар бақылаушы көлемгің беті арқылы конвективті
... ... ... бақылаушы көлемгің қысым күштерінің және пайда болатын көлемдік және
... ... ... күштердің есебінен туады. Осылайша, импульс балансының қатынасын аламыз:
25
... ... ... - Көлемнің екіөлшемді элементіндегі импульс балансы
... ... ... ... ... ... .
... ... ... ... ... ... (65)
Тек Ньютондық сұйықтар ғана
... ... ... шарт жағдайында кернеулік пен қозғалыс күйі арасындағы қатынасты жанама
... ... ... үшін ньютондық өрнек арқылы жазуға болады [6]:
... ... ... ... ... ... ... ... ... ... ... ... ,
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (66)
Мұндағы - сұықтың қасиеті мен
... ... ... жылдамдығына тәуелді симметриялық тұтқыр кернеу тензоры. Сұйық элементіне әсер
... ... ... кернеуді кернеу тензоры түрінде жазуға болады:
... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... (67)
7.3 Энергияның сақталу заңы
Бақылаушы көлем
... ... ... термодинамиканың бірінші бастамасын жазайық (1 сурет) және осылайша, мынадай
... ... ... қол жеткіземіз [10]:
,
... ... ... (68)
Мұндағы .
Толық энергия Е ішкі энергия е
... ... ... кинетикалық энергиядан құралады. Потенциалдық энергияның қосатын үлесін
... ... ... (68) теңдеудегі әрбір мүшені қарастырайық:
- толық энергияның
... ... ... бойынша өзгерісі;
бақылаушы көлемнің шекарасынан тыс конвекцияның есебінен болатын
... ... ... энергия ағынының меншікті тығыздығы;
бақылаушы көлемнің шекарасы арқылы молекулалық тасымал
... ... ... болатын толық энергия ағынының меншікті тығыздығы;
- бақылаушы
... ... ... бетіндегі қысым күштерінің жұмысының есебінен болатын энергияның өзгерісі;
- бақылаушы
... ... ... бетіндегі үйкеліс күшінің жұмысының есебінен болатын энергияның өзгерісі;
... ... ... - бақылаушы көлемдегі көлемдік күштердің жұмысының есебінен энергияның
... ... ... - химиялық түрденулер немесе жылулық сәулелену энергиясының есебінен
... ... ... жұтылуы (бөлінуі) [11].
Газ ағындарында ішкі энергияның (жылулық энергияның) өзгерісіне
... ... ... механикалық энергияның өзгерісін ескермейді. Механикалық энергия балансы алайда қозғалыс
... ... ... (импульс балансы) жылдамдық векторларының скалярлық көбейтіндісінде болады. Осы баланста
... ... ... күші мен бетке түсірілетін қысым күштерінің балансының есебінен белгілі
... ... ... уақыт мезетінде жасалатын жұмыс екі құраушыдан тұрады. Бірінші құраушысы
... ... ... жұмыстың механикалық энергияға түрленуін сипаттаса, екіншісі ішкіге түрленуін бейнелейді.
... ... ... толық энергия теңдеуінен механикалық энергияның сақталу заңы үшін өрнекті
... ... ... тастап, (63) өрнекті басты назарға ала отырып, ішкі энергияның
... ... ... заңын аламыз:
... ... ... .
... ... ... ... ... ... – ішкі энергияның уақыт бойынша толық өзгерісі;
II – конвекцияның
... ... ... бақылаушы көлем шекарасы арқылы ішкі энергия ағынының тығыздығы;
III –
... ... ... көлемнің шекарасы арқылы молекулалық тасымал есебінен болатын толық энергия
... ... ... меншікті тығыздығы;
IV – қысым күштері атқаратын жұмыстың ішкі энергияға
... ... ... ауысу;
V – үйкеліс күштері атқаратын жұмыстың ішкі энергияға қайтымсыз
... ... ... (диссипация);
VI – ішкі энергия көздері мен ағындары.
Көпкомпонентті жүйелерде молекулалық
... ... ... арқылы болатын энергия ағынының тығыздығы үш бөліктен құралады: жылуөткізгіштіктің
... ... ... энергия тасымалы, зат ағыны мен диффузияның есебінен болатын энергия
... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (70)
Жылуөткізгіштіктің есебінен болатын энергия
... ... ... Фурье заңымен анықталады:
... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (71)
Көпкомпонентті
... ... ... температура өрістері мен концентрация өрістері өзара қосылады, осы жағдайдағы
... ... ... ағыны температура мен концентрациялардың айырымының есебінен болады:
... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (72)
-
... ... ... қысымдағы β компонентінің меншікті жылусиымдылығы;
- диффузия тудыратын
... ... ... компонентінің масса ағыны;
- осы масса ағындары арқылы
... ... ... температуралардың айырымы. (70) қатынастағы үшінші компонент -
... ... ... энергиясы ағынының тығыздығы. Ол түрлі концентрациядағы компоненттердің молекулалары арасындағы
... ... ... алмасуының есебінен болады. Осы энергия тасымалы сонымен қатар изотермиялық
... ... ... да байқалады. Молярлық массалары айтарлықтай ерекшеленетін қоспаларда осы
... ... ... айтарлықтай рөлді атқарады. Фурье жылуының ағыны тығыздығымен ( )салыстырғанда
... ... ... отырған (70) теңдеудегі өзге екі және
... ... ... мүшелері айтарлықтай аз.
Қайтымды (IV мүше) және қайтымсыз (V
... ... ... механикалық энергияның ішкі энергияға түрленуін тек Мах саны үлкен
... ... ... немесе тұтқырлығы жоғары сұйықтарда ғана ескеруге болады, өйткені, жылдамдықтың
... ... ... градиенті қалыптасады.
Осылайша, ықшамдаулардан кейін (69) теңдеуден мынаны аламыз:
... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... (73)
Ішкі энергия е
... ... ... жүргізу үшін өте қолайлы шама болып табылады. Меншікті энтальпия
... ... ... мен изобарлық жылусиымдылық cp керісінше көптеген заттар үшін белгілі,
... ... ... кестелік мәні бар немесе жуықталған функция түрінде беріледі.
Сонда меншікті
... ... ... үшін өрнекті ескеретін болсақ:
и ,
... ... ... (74)
Мынадай
... ... ... теңдеуді аламыз:
.
... ... ... (75)
Меншікті энтальпия үшін баланс теңдеуінен IV, V
... ... ... VI мүшелерін ескермейміз.
Молекулалық жылу алмасу коэффициентін мынадай жолмен
... ... ... .
... ... ... энергия балансы теңдеуі үшін мынаны аламыз:
.
... ... ... (77)
Осы қатынас
... ... ... тасымал теңдеуінен мынаны ескере отырып алынады:
8 Нәтижесі
8.1 Бірінші
... ... ... сызықтық дифференциялдық теңдеуді сандық модельдеу
Сандық әдістерді қолданып кезкелген физикалық
... ... ... заңдылығын сипаттайтын математикалық теңдеулерді моделдеуге болады. Бірақ кезкелген сандық
... ... ... орынсыз қолдана беруге болмайды, себебі әрбір сандық әдістің өзіндік
... ... ... кемшіліктері және жіберетін қателіктері бар. Сондықтан зерттеліп отырған
... ... ... теңдеуді сандық модельдеу барсында біз көп жағдайда дифференциалдық теңдеулерді
... ... ... жіктеп аламыз, әрі шекаралық шартқа негізделеміз сонымен қатар айнымалы
... ... ... қанша қадаммен өзгеретіне көңіл бөлеміз. Бірінші ретті сызықты дифференциалдық
... ... ... зерттеудің маңыздылығы көп жағдайда еркін түскен дененің қозғалыс заңдылығы
... ... ... атмосфералық қысымның биіктік бойынша өзгерсін әрі Ом заңын қолдана
... ... ... индуктивті токтың және кернеудің өзгеріс заңдылықтарын т.б. физика заңдылықтарын
... ... ... жүйесінде стандартты C++/CUDA қолданып сандық моделдеудің артықшылығы зор.
... ... ... зерттеліп отырған функцияның қандайда бір айнымалы қадамымен өзгертіп алынған
... ... ... *.dat , *.txt форматтарында сақтай отырып Gnuplot көмегімен алынған
... ... ... график немесе 3D график алуға мүмкіндік береді, сонымен қатар
... ... ... көмегімен алынған графиктерді *.ps форматында сақтай отырып құрылған программа(C++,
... ... ... *.cpp) және алынған мәлімет, мәлімет негізінде түзілген график арасында
... ... ... байланыс орната отырып біздің кезкелген функцияны сандық моделдеуге
... ... ... тиімді.
Біздің қолданып отырған Рунге – Кутта 4 сандық әдісі
... ... ... дифференциялдық теңдеу;
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (78)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (79)
есебінің
... ... ... аралығындағы жуық шешуінің дәлдігі –
... ... ... ... ... ... (80)
Теңдігінің оң жағындағы интегралды есептеу дәлдігімен тікелей байланысты болғандықтан,
... ... ... төмендегі Рунге –Кутта 4 сандық әдісін қолданамыз:
y_(i+1)=y_i+h/6(K_1+2K_2+2K_3+K_4)
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (81)
〖
... ... ... K〗_1=f(x_i,y_i)
K_2=f(x_i+h/2,y_i+hK_1/2)
K_3=f(x_i+h/2,y_i+hK_3/2)
K_4=f(x_i+h,y_i+hK_3)
Мұнда h-айнымалы
... ... ... өзгеру қадамы, берілген функцияның бастапқы шекаралық шарты (79) теңдеуде
... ... ... теңдеуді қолдана отырып біз LINUX/C++ - те төмендегі бірінші
... ... ... сызықты дифференциалдық теңдеуді моделдік.берілген теңдеу:
y^'=3e^(-x)+0.4y, y(0)=5
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (82)
3 кесте - C++- те Рунге-Кутта 4 әдісінің
... ... ... 3-кестеде (82)
... ... ... теңдеудің C++ тілінде жазылуы, мұнда айнымалының өзгеру қадамы h=0.1,
... ... ... шарты бойынша x_0=0,y_0=5 , келесі x_1=x_0+h=0+0.1=0.1,болғанда құрылған программа Рунге
... ... ... Кутта 4 әдісінің негізінде (81)- формуланы қолдана отырып есептей
... ... ... Сонда біздің ие болатын мәніміз, y_1≈5,094734 мәніне ие боламыз.
... ... ... есептелінген мәндер rk4.dat мәліметтер базасына барып жазылады.
Біз қадамды h=0.1
... ... ... отырып x_101 дейін есептеу жүргіздік. Мұнда біз 1010 мәнге
... ... ... боламыз.ал қадамды h=0.001 деп берсек онда 101000 мәнге ие
... ... ... Біз қадамды қанша кішірейткен сайын дәлдіктің артатынына көз жеткіздік,алайда
... ... ... ұзақтығы біраз көбейеді. 3-кестеде жазылған программада (81)- теңдеуге негізделе
... ... ... алдымен бастапқы шартқа негізделе отырып K_1 есептейді сосын алынған
... ... ... негізделе отырып K_2 сосын K_3, K_4 тер есептелніп
... ... ... мәндердің негізінде y_1≈5,094734 табылады. Осындай сикілмен программа i=101 болғанша
... ... ... жалғасады.
... ... ... 3-кестеде 6 баған бойынша алынған сандық
... ... ... көрсетілген, бұнда бірінші және екінші бағандар сәйкесінше x_i,y_i,
... ... ... бағандар сәйкесінше K1, K2, K3, K4.
4 кесте - Алынған
... ... ... мәндер (*.dat)
Linux жүйесінде біз бұйрықтық шақыру тәсілімен Terminal көмегімен
... ... ... жүргіземіз. 30-суретте (82)- теңдеудің h=0.1 қадамдардағы функцияның графигі.
26 сурет
... ... ... қысымның биіктік бойынша таралуын сипаттау
y^'=3e^(-x)+0.4y, y(0)=5теңдеуі
... ... ... сызықты дифференциалдық теңдеудің жалпы шешімін x=3 , y(3)табайық.
dy/dx+Py=Q
... ... ... мұнда P=-0.4, Q =3e^(-x), осыдан
... ... ... (6) өрнекті пайдаланып y(3)мәнін таба аламыз.
〖ye〗^∫▒Pdx=∫▒〖Qe^∫▒Pdx dx+c〗
... ... ... (83)
y(3)=2.763
... ... ... біз LINUX/C++ - те қадам h=0.1 болған кезде y(3)=2,690
... ... ... мұнда біз нақты мәннен қандайда бір кіші мәнге ауытқығанымызды
... ... ... . біздің РК 4 қолданып жіберген қатемізді есептеп көрелік.
|∈_t
... ... ... 2,6% ауытқыдық.
Ал h=0.5 болғанда біз
... ... ... мәніне ие боламыз. Ал жіберген қатеміз
|∈_t |=|(2.763-2.903)/2.763|*100%=5.1%
Біз бір әдіс
... ... ... ұқсамаған қадамдар мен берілген функциядан ұқсамаған 2 түрлі мәнге
... ... ... болдық. Жіберген қателігіміз де әртүрлі. Қадам артқан сайын біздің
... ... ... қатемізде арта түседі. Ал біз осы функцияға Эйлер әдісін
... ... ... шығарсақ жіберетін қатеміздің әлде қайда артқанын байқаймыз сондықтан РК4
... ... ... Эйлер әдісіне қарағанда біздің жағдайда жіберетін қатесі аз.
8.2 Екінші
... ... ... сызықты дербес туындылы дифференциялдық теңдеуді сандық модельдеу
жоғарғы ретті дифференциялдық
... ... ... түріне жататын лаплас теңдеуін алдық, лаплас теңдеуі шекаралық шекаралық
... ... ... арқылы C++ және cuda тілімен есептеген кезде 4 есе
... ... ... ұттық.
Зерттелетін функция. Екінші ретті дербес туындылы дифференциялдық теңдеу:
(∂^2 u)/(∂x^2
... ... ... (∂^2 u)/(∂y^2 )=0,
... ... ... 0
∂u/∂x │_(x=0)=0, ∂u/∂x │_(x=a)=0,
... ... ... 0
u(x ,0)=0,u(x,b)=f(x), ( 027
... ... ... - Лаплас есебінің шегаралық шарты
Сандық әдіс. Шекті айырымды
... ... ... )=f(x_i )+df/dx │_i (x_(i+1)-x_i )+1/2 (d^2 f)/(dx^2 )
... ... ... (x_(i+1)-x_i ) ^2+
1/6 (d^3 f)/(dx^3 ) │_i
... ... ... ) ^3+ЖРМ;
df/dx │_i≈(f_(i+1,j) ‒f_(i-1,j))/2∆x;
df/dy │_i≈(f_(i,j+1) ‒f_(i,j-1))/2∆y;
(d^2
... ... ... ) │_i≈(f_(i+1) ‒f_(i-1)-2f_i)/(∆x^2 ).
(d^2 f)/(dy^2 ) │_i≈(f_(j+1)
... ... ... )
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (85)
5 кесте -
... ... ... ретті дербес туындылы дифференциялдық теңдеудің шекті- айырымдармен LINUX/C++ те
... ... ... кесте- Алынған сандық мәндер (*.dat)
7 кесте- Екінші ретті дербес
... ... ... дифференциялдық теңдеудің шекті- айырымдармен LINUX/C++/CUDA Nivida да бейнеленуі
Шекті
... ... ... схема бойынша Лаплас теңдеуін CUDAда график түрінде бейнеленуі
28 сурет
... ... ... Лаплас теңдеуінің 3Д графигы шекті айырымды схемада
29 сурет -
... ... ... теңдеуінің 3Д графигы шекті айырымды схема
30 сурет - лаплас
... ... ... 3Д графигы шекті айырымды схемада
Қорытынды
Біздің жағдайымызда бірінші ретті
... ... ... дифференциялдық теңдеуді алғамыз. Оған C++ тілімен эйлер, нюьтон рунге-кутта
... ... ... қолданып, әр түрлі қадамдар үшін сандық талдау жасадық есептеу
... ... ... рунге-кутта метотымен аз қателік жіберді. Ал эйлер мен
... ... ... методында ауытқу болды.
Лаплас және жылулық теңдеуді зерттеудегі мақсат,
... ... ... масса алмасу күйлерді сипаттайтын теңдеуді модельдеу қажеттілігінен туындады. Мұнда
... ... ... барысын сипаттайтын теңдеу екінші ретті дербес туындылы біртексіз және
... ... ... емес теңдеумен бейнеленген. Ол теңдеуді CUDA тілімен жазғанда бірден
... ... ... есептеу мүмкін болмайды. Сондықтан біз лаплас және жылулық теңдеулер
... ... ... бағынатын бөліктерін дербес есептейміз. Сосын алынған мәнге сайкес өзара
... ... ... немесе қабысуын жасаймыз. Содан барып жалпы кұйді бейнелеуге мүмкіндігіміз
... ... ... жалпы функцияны жіктеп аламыз;
2-қадамда, функцияның типіне қарай сандық әдісті
... ... ... сандық әдісті пайдаланып сандық есептеу жүргіземіз;
4-қадамда, әр түрлі қадамдар
... ... ... сандық мәліметтер аламыз;
5-қадамда,алынған мәліметтерді Gunu plot арқылы графигін тұрғызамыз;
6-қадамда,
... ... ... және CUDA да жасалған екі программаның артықшылықтарын талдаймыз
... ... ... қателіктерін салыстырамыз.
Алынған мәліметтерге негізделе отырып C++ та есептеп алынған
... ... ... қарағанда CUDA да есептеп алынған нәтиже бірдей екеніне көз
... ... ... Бірақ CUDA тілінде шығарсақ уақыттан 4 есе ұтамыз. Әрі
... ... ... тілінде шығарған компьютерге жеңіл, экономикалық жақтанда ұтамыз. Осы жол
... ... ... біз бұданда күрделі жану жәнеде басқа күрделі есептерді шешуге
... ... ... аламыз.
Әдебиеттер тізімі
Боресков A.B. , Харламов А.А. “Основы работы с
... ... ... CUDA” , Москва2010.-C.10-98.
Бөлегенова С.Ә. “жылу физикасының сандық әдістері”, Алматы
... ... ... .-C.18-29.
Jason Sanders, Edward Kandrot “CUDA by example” , 2010,
... ... ... 234
CUDA Fortran programming guide and reference. Release 2011,
... ... ... CUDA c programming best practices guide”, CUDA Toolkit2.3, 2009
“NVIDIA
... ... ... compute unifed device architecture”, NVIDIA corporation 2701 San Tomas
... ... ... Santa Klara.page230
Dennis G.Zill, Michael R.Cullen “Differential Equations With boundary-Value
... ... ... Seventh Edition, Printed in Canada, page 347.
Hari Kishan ,
... ... ... equation”, Nice Printing Press Delhi, page31.
Витковская И.С. Численное моделирование
... ... ... смешанной конвекции проводящей жидкости в вертикальном круглом канале //
... ... ... международный форум по тепломассообмену: Тез. докл. - Минск, 1988.
... ... ... С.77 - 79.
Аскарова А.С., Локтионова И.В. О точности конечно-разностной
... ... ... при моделировании пристенных течений неньютоновских жидкостей //Материалы 1-го Респ.
... ... ... по теоретич. и прикладной механике. – Алматы, 1996.
... ... ... С.428.
Аскарова А.С., Болегенова С.А., Локтионова И.В., Лаврищева Е.И. Численное
... ... ... топочных процессов при горении высокозольного экибастузского угля // Теплофизика
... ... ... аэромеханика, 2002, Т.9.
... ... ... -
... ... ... РАН с.585-595.
A.S.Askarova, V.E.Messerle, I.V.Loktionova, A.B.Ustimenko 3D Modeling of the
... ... ... Com-bustion of Ekibastuz oal in the Fur-nace Chamber of
... ... ... РК-39 Boiler at the Ermakovo District Power Station// Thermal
... ... ... V.50. 2003, -.№8.- р. 633-638.