Астрофизикалық құбылыстарды моделдеу үшін cuda қолдану


Қазақстан Республикасының Білім және ғылым министрлігі
әл-Фараби атындағы Қазақ ұлттық университеті
Құдайберген М.
ДИПЛОМДЫҚ ЖҰМЫС
АСТРОФИЗИКАЛЫҚ ҚҰБЫЛЫСТАРДЫ МОДЕЛДЕУ ҮШІН CUDA ҚОЛДАНУ
Мамандық 050611-«Астрономия»
Қазақстан Республикасырың Білім және ғылым министрлігі
әл-Фараби атындағы Қазақ ұлттық университеті
Физика-техникалық факультеті
Қатты дене физикасы және бейсызық физика кафедрасы
«Қорғауға жіберілді»
Кафедра меңгерушісіПриходько О. Ю.
ДИПЛОМДЫҚ ЖҰМЫС
Тақырыбы: «АСТРОФИЗИКАЛЫҚ ҚҰБЫЛЫСТАРДЫ МОДЕЛДЕУ ҮШІН CUDA ҚОЛДАНУ»
050611-«Астрономия» мамандығы бойынша
Орындаған Құдайберген М.
Ғылыми жетекшісі Наурзбаева А. Ж.
ф. -м. ғ. к, доцент
Норма бақылаушы Тлеубаева И. С.
Алматы 2012
РЕФЕРАТ
Бітіру жұмысы: 33беттен, 78 формуладан, 38 суреттен, 15 қолданылған әдебиеттер тізіміннен тұрады.
Термин сөздер: Рендеринг, Шейдер, CPU. PGPU.
Жұмыстың өзектілігі: Астрофизикадағы компьютерлік модельдеудің ерекшелігі - астрофизикалық процестерге денелердің орасан көп саны қатысатынына байланысты бір біріне ұқсас схемалармен көлемі төтенше жоғары есептеулерді жүргізуге жиі тұра келетіні. Осыған байланысты астрофизикада компьютерлік эксперимепнттердің көбін суперкомпьютерсіз жүргізу мүмкін емес. Алайда, CPU жиілігінің арту динамикасына мұқият қарасақ, оның соңғы жылдары елеулі түрде бәсеңдегенін байқаймыз. Тактылық жиіліктің тоқтаусыз өсуі бірқатар технологиялық маңызды себептерге байланысты мүмкін емес болып табылады. Сондықтан да қазіргі заманғы есептеуіш жүйелердің өндірушілері бір процессордың жиілігін көтеруге емес, процессорлар мен ядролар санын көбейтуге көп назар аударуда. Бүгінгі видеокарталарда, мысалы GF8800GTX, процессор саны 128 жетуі мүмкін. Көптеген жоғары көлемдегі есептеу жұмысын жүргізуді талап ететін есептер GPU архитектурасына жақсы орналасып, олардың сандық шешуін айтарлықтай жылдамдатуға мүмкіндік береді екен. Алайда, бұл есептерді қосымшаларды шеңберінде программалаудың графикалық интерфейсі шешу тиімсіз, себебі бұл API мүлдем басқа қолданысқа арналған. Сол себепті Nvidia компаниясында Compute Unified Device Architecture (қысқаша CUDA) технологиясын - GPGPU-ң C тілінде программа жазуға мүмкіндік беретін технологиясын даярлады.
Жұмыстың мақсаты: CUDA технологиясын игеріп, бұл технологияны есептеудің жоғары көлемін жүргізуге талап ететін астрофизикалық мәселелерді шешу үшін қолданудың тиімділігін миллион жұлдызға дейін кіргізе алатын шартіріздес жұлдыздық шоғырланулардың эволюциясын модельдеу мысалында көрсету.
Зерттеу әдісі: CUDA-ның астрофизикалық құбылыстарды моделдеу үшін тиімділігін растау үшін біз жұлдыздардың әр түрлі санын, атап айтсақ, 1024, 2048, 3072, 4096, 5120, 7168, 10240, 14336, 16384 жұлдызды кіргізетін шартәріздес жұлдыздық шоғырланудың эволюциясын программалаудың С++ тілінде моделдедік.
ТЕРМИНДЕР
- API ( ағылшын тілінен қысқартылған Application Programming Interface) - қосымшаның бағдарламалық интерфейсі.
- DirectX- ойынды құрастыру және басқа жоғарышығарушы мультимедиялық қосымшаны құрастыру үшін төмен бағдарламалық интерфейс жиынтығы. Өл өзінде дыбыс және қосу мәзірі, 2D, 3D графиктерді қолдау қосымшалары бар.
- Direct3D (D3D) - үшөлшемді қарапайымдылықтың қорытынды интерфейсі ( геометриялық дене) . DirectX ға кіреді.
- OpenGL (ағылшын тілінен қысқартылған Open graphics Library, сөзбе сөз аударғанда ашық графикті кітапхана) - екіөлшемді және үшөлшемді компьтерлік графиктерде қолданылатын қосымшаларды жазуда тілге бағынбайтын бағдарламалық интерфейс. Қиын үшөлшемді суреттерді онай жолмен салу үшін шамамен 250 функциясы бар жиыннан тұрады. Бейне ойындарды құрастыруда, САПР, виртуалды шындықта, ғылыми жұмыстарда қолданылады. Windows тұғырнамада DirectX пен бәсекелеседі.
- OpenCL (ағылшын тілінен қысқартылған Open computing Language, сөзбе сөз аударғанда есептеудің ашық тілі) . Фреймворк (жүйенің бағдарламалық тірегі) компьютерлік бағдарламаларды жазуға арналған, ол бағдарламалар әртүрлі графикалық (GPU) және орталық процесссорлармен (CPU) қатысты. OpenCL фреймворкте тілді бағдарламалау және қосымшаларды бағдарлау интерфейсі (API) . OpenCL өзінде нұсқама және мәліметтер деңгейінде қамтамасыз жасайды және GPGPU техникасын құрастырушы болып табылады.
- GPGPU (ағылшын тілінен қысқартылған General-Purpose Graphics Processing Units, сөзбе сөз аударғанда GPU-барлық нұсқамада) -бейнекартаның графикалық жадында құрал жабдықтарды барлық есептеулерде қолдану, ол жай кезде орталық жад жұмыс атқарады.
- Шейдер ( ағылшынша shader) - синтезделетін суреттерде көленкені орналастыру бағдарламасы, ол үшөлшемді графиктерде соңғы параметрлерді анықтау үшін қолдагылады. Ережеге сәйкес жарықтың жұтылуы және шағылуында, текстураны орнатуда, шағылу және сынуда, қараңғылауда, беттікпен араласуда және өңдеу орындарының әсері қиындықтарды туғызады. Қиын беттіктерде қарапайым геометриялық денелер арқылы суреттелінеді.
- Рендеринг ( ағылшынша rendering) - суреттелу, компьютерлік графикада программалық жабдықталу арқылы суретті алу жұмысы.
- SDK(ағылшын тілінен қысқартылған Software Development Kit) - программалық жабдықталуда құрал жабдықтар жиыны.
- CPU (ағылшын тілінен қысқартылған Central Processing Unit, сөзбе сөз аударғанда - орталық/негізгі/негізгі есептелінеті құрылғы) - орталық микрожад; машиналық нұсқамаларды орындайтын құрылғы; ПК қамтамасыз ететін аппарат бөлігі, ол бөлік есептелінетін операцияларды және ПК барлық құрылғыларын түзейтін жұмысқа жауап береді.
- GPU (ағылшын тілінен қысқартылған Graphic Processing Unit, сөзбе сөз аударғанда - графиктік есептелінетін құрал) -графикалық жад, ПК жекеленген бөлігі немесе ойын құралы, бұл құрал графикалық суреттеуді атқарады. Қазіргі таңдағы графикалық жадтар ынғайлы қорытындылап және компьютерлік графикаларды анық бейнелейді. Графикалық жад қазіргі кездегі бейнеадаптерлерінде үшөлшемді графиктерді тездететін жад ретінде қолданылады, бірақ оны кей жағдайларда есептелу үшін қолданылады.
МАЗМҰНЫ
КІРІСПЕ…… . . . 5
1 CUDA технологиясы және оның артықшылықтары . . . 6
1. 1 GPU-дағы параллель есептеулер
1. 1. 1 Параллель есептеулердің артықшылықтары
1. 1. 2 GPU мен CPU - дағы параллель есептеулер арасындағы айырмашылық . . .
1. 1. 3 GPU-дағы есептеулерді қолданудың бірінші әрекеттері
1. 1. 4 GPU дағы параллель есептеулердің қолдану аясы
1. 2 CUDA технологиясына кіріспе
1. 2. 1 NVIDIA CUDA -ң мүмкіншіліктері
1. 2. 2 CUDА - ның жетістіктері және шектеулері
1. 2. 3 CUDА - ның даму тарихы
1. 2. 4 NVIDIA CUDA -ны қолдайтын бейнекарталар
1. 2. 5 NVIDIA CUDA құрамы
1. 3 CUDA-да программалау негіздері
1. 3. 1 CUDA -да программалаудың моделі
1. 3. 2 Бұтақталу
1. 3. 3 Ағындар арасындағы қарым - қатнастар
1. 3. 4 CUDA жадының модельдері
1. 3. 4. 1 Жад түрін таңдау, жергілікті жадтың орнына бөлінетін жадты қолдану
1. 3. 4. 2 Циклдерді жаю
1. 3. 4. 3 Бөлінетін жад банкілерінің жанжалдар
1. 3. 5 Бағдарламалау ортасы
1. 3. 6 CUDA дағы программаларды тиімдету
2 Жұлдыздардың шартәріздес шоғырланулары мен олардың эволюциясы . . . . . . 18
2. 1 Жұлдыздардың шартәріздес шоғырлануларының қасиеттері . . . 18
2. 2 Жұлдыздардың шартәріздес шоғырлануларының эволюциясы . . . 19
2. 2. 1 Қарапайым модельдер
2. 2. 2 Тасу эффекті
2. 2. 3 Жеке және қос жұлдыздардың өзара әрекеті
2. 2. 4 Шартәріздес шоғырланулардың булануы . . . 19
2. 2. 5 Динамикалық үйкеліс
3 Нәтижелер және оларды талдау . . . 25
3. 1 Зерттеу әдістемесі
3. 2 Нәтижелерді талдау
ҚОРЫТЫНДЫ . . . 34
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ . . . 35
КІРІСПЕ
Компьютер әлдеқашан теоретик-астрономдардың ғана емес, сонымен қатар бақылаушылардың да негізгі құралына айналған, себебі енді бейне қабылдаушы ретінде ПЗС матрица қызмет ететіндіктен, астрономдар бейнелерді окуляр емес, монитор арқылы бақылай алады. Компьютерді астрономияда қолдану басқа ғылым салаларында да сияқты өте әрқилы. Бұл дегеніміз телескоптар мен серіктерді басқару, бақылауды автоматтандыру, алынған мәліметтерді өңдеу және талдау, үлкен каталогтармен жұмыс істеу, аспан механикалық есептеулерді жүргізу, қазіргі ғылымды онсыз елестете алмайтын компьютерлік желілер. Сонымен қатар, компьютер астрофизикалық процестерді сандық моделдеу үшін (компьютерлік эксперименттерді жүргізу үшін) қажет.
Астрофизикадағы компьютерлік модельдеудің ерекшелігі - астрофизикалық процестерге денелердің орасан көп саны қатысатынына байланысты бір біріне ұқсас схемалармен көлемі төтенше жоғары есептеулерді жүргізуге жиі тұра келетіні. Осыған байланысты астрофизикада компьютерлік эксперимепнттердің көбін суперкомпьютерсіз жүргізу мүмкін емес.
Мысалы, Әлемнің ірі масштабты құрылысын және оның эволюциясын моделдеу үшін ғалымдардың халықаралық консорциумы Virgo құрылды. Өлшемі шамамен екі миллиард жарық жылына тең кубтық көлеміндегі (еске сала кетейік, Метагалактиканың өлшемі 10 млрд. жарық жылынан асады) материяның үлестірілуінің эволюциясын зерттеу барысында бір ғана компьютерлік тәжірибені жүргізу Гархингтегі ( Германия ) Макс Планк қоғамының суперкомпьютерлік орталығының негізгі суперкомпьютер жұмысының бір айдан көп уақытын алды. Бұның өзінде жұмыс тек қана 10 млрд. бөлшектермен жасалды, ал бұл, әрине, мәселені айтарлықтай қарапайымдату, өйткені жалғыз біздің Галактикамызға шамамен 300 млрд. жұлдыз кіреді.
Бірақ суперкомпьютерлер тек осындай алып жұмыстар үшін емес, сонымен қатар әлде-қайда қарапайым тәжірибелер үшін де қажет. Мысалы, Санта-Круздағы Калифорния университетінің ғалымдары әлемдегі ең жылдам 100 компьютердің қатарына жататын жаңа суперкомпьютерді планеталық физика мен астрофизика саласындағы зерттеулерді жүргізу үшін орнатыпты . Суперкомпьютердің қажеттілігі осы саладағы зерттеу асажаңа жұлдыздар мен галактикаладың жарылыстары, жұлдыздар мен планеталар қойнауындағы сұйықтықтардың динамикасы сынды күрделі физикалық құбылыстарды компьютерлік модельдеуді жиі қажет ететінімен байланысты.
Астрофизикалық зерттеулер суперкомпьютерді қажет ететін көптеген басқа да мысалдарды келтіруге болады.
Кез келген есептеу құралының басты сипаттамалырының бірі -жылдамдығы. Дербес компьютердің жылдамдығы орталық процессордың (CPU-ң ) тактылық жиiлiгiмен тiкелей байланысты. Соңғы он жылда есептеу технологияларының дамуы жылдам қарқынмен жүрді. Мысалы, х86 архитектурадағы процессорының тактылық жиілігі 1978 жылы маусымда шыққанынан бастап қазірге дейін 700 есе артқан.
Алайда, CPU жиілігінің арту динамикасына мұқият қарасақ, оның соңғы жылдары елеулі түрде бәсеңдегенін байқаймыз. Тактылық жиіліктің тоқтаусыз өсуі бірқатар технологиялық маңызды себептерге байланысты мүмкін емес болып табылады, қазір процессор өңдеушілері «кремнийлік тығырыққа» тіреліп отыр.
Басқа себеп - жедел жад жұмысының салыстырмалы аз жылдамдығы. Процессор қаншалықты жылдам жұмыс жасаса да, мүлт кететін жерлер арифметикалық есептеулерге байланысты емес, кэш-қателер - жадпен сәтсіз жұмыс істеу болады.
Сондықтан да қазіргі заманғы есептеуіш жүйелердің өндірушілері бір процессордың жиілігін көтеруге емес, процессорлар мен ядролар санын көбейтуге көп назар аударуда. Алдыңғы қатардағы жүйелерде орталық процессордың ядро саны қазіргі таңда 8 -ге дейін жетті.
Программаны N ядроға параллельдетіп тастау арқылы алуға болатын максимал үдеу Амдала заңы арқылы беріледі: S = 1/(1-P+P/N), мұнда Р - программаның N процессорге параллельдетуге жататын бөлігін орындау уақыттың үлесі. Сөйтіп, барлық программаның ¾ бөлігін параллельдете алсақ, максимальды ұту 4 есені құрайды (программаның жұмысы төрт есе тез болады) . Сондықтан параллельдетуге жақсыбейімделген алгоритм мен әдістерді қолдану маңызды.
Бірақ, GPU (Graphics Processing Unit) графикалық процессорларға қарайтын болсақ, оларда паралельдету жолы әлдеқайда ерте таңдалған. Бүгінгі видеокарталарда, мысалы GF8800GTX, процессор саны 128 жетуі мүмкін. Мұндай жүйелерді дұрыс қолданған жағдайда, олардың тиімділігі өте жоғары болуы мүмкін.
Алғаш видеокарталар сатылымға шыққанда, олар қарапайым ( орталық процессормен салыстырғанда ), тар мамандандырылған, тек процессордың екі өлшемді мәліметтерді көрнекі түрге айналдыру жөніндегі жұмысын жеңілдетуге арналған болды.
Бүгінде видеокартаны кванттық механика, жасанды ақылдың, физикалық есептеулер, криптография, фотографиялар бойынша бейнелерді қайта қалпына келтіру, бейнелерді тану төңірегіндегі және т. б есептерді шешу үшін пайдаланудың, яғни графикалық процессорды графикалық емес есептерді шешу үшін пайдаланудың тенденциясы пайда болды. Сәйкес технологияларды графикалық процессорларда жалпы есептеулерді программалау (GPGPU) технологиясы деп атайды. Көптеген жоғары көлемдегі есептеу жұмысын жүргізуді талап ететін есептер GPU архитектурасына жақсы орналасып, олардың сандық шешуін айтарлықтай жылдамдатуға мүмкіндік береді екен.
Алайда, бұл есептерді қосымшаларды шеңберінде программалаудың графикалық интерфейсі ( API) (DirectX, OpenGL) шешу тиімсіз, себебі бұл API мүлдем басқа қолданысқа арналған.
Сол себепті Nvidia компаниясында Compute Unified Device Architecture (қысқаша CUDA) технологиясын - GPGPU-ң C тілінде программа жазуға мүмкіндік беретін технологиясын даярлады. CUDA SDK деп аталатын алғашқы нұсқасы 2007 жылы, жаңартылған нұсқасы 2010 жылы шықты.
Жоғарыда айтылғанның барлығына байланысты жұмыстың келесі мақсаты алға қойылды: CUDA технологиясын игеріп, бұл технологияны есептеудің жоғары көлемін жүргізуге талап ететін астрофизикалық мәселелерді шешу үшін қолданудың тиімділігін миллион жұлдызға дейін кіргізе алатын шартіріздес жұлдыздық шоғырланулардың эволюциясын модельдеу мысалында көрсету.
1 CUDA ТЕХНОЛОГИЯСЫ ЖӘНЕ ОНЫҢ АРТЫҚШЫЛЫҚТАРЫ
1. 1 GPU-дағы параллель есептеулер
Compute Unified Device Architecture (CUDA) Nvidia бұл-GPU мекемелеріне үлкен масштабтағы жоғары эффективті есептеулер үшін бағдарламалық жабдықталу болып табылады. Жылдық қорытындылардан кейін CUDA ғылым және техникалық аймақтар арасында қарсыластарын ұтты, негізгі ұсынылған кезеңі 2006 жылы. Сол кездері Nvidia жоба жасап, GPU үшін әмбебап құрылғы секілді кедергі жасайды, ол құрылғы electronicgames және 3D графикадан жоғары болып тұр. Қайта басу тармағы қосалқы орналасқан жіптер бойынша басқара алады, және де бұл процессорлар жеке регистры FPU болғандықтан, олар жеке тұрақты есте сақтауларды бөлді.
CUDA өзінде softwaredevelopment құрал жабдықтарын, міндет кітапханаларын және hardwareabstraction механизмі бар екенін көрсетті. Бірақ CUDA өзінде бағдарламашылардың арнайы кодекс жазғандарын қалайды, бірақ олар қарапайым жағдайларды басқаруларын қаламады. CUDA ойлап тапқыштары қарапайым C/C ++ компилятормен қоса орталық жад арқылы GPU с кодексімен біріктіре алуларына болды. Бірақ бұл қарқынды дамуларға жол тартуда, негізгі дәлдік математиканың жүзетін үтір дәлдігіне бағынулары болып тұр. Жүзетін үтір Doubleprecision, ол осы жылдан кейінгі GPU дің жаңа тармағы Nvidia ның жол картасында жоспарда тұр.
Бір жағынан Nvidiaның мықты болуы, оның бәсекелестерін мықты болуына әрекет жасайды. Nvidia барлық кездері өзінің интерфейстан төмен бағдарлдамасын GPU-дің архитектурасын ешқашан айтпаған. Бұның қорытындысы яғни программистердің осыған ұқсас жұмыстардың болмауында негіз болған. Бұлардың орнына олар APIдің анықталынған графикалық функцияларын ұсынады. Біріншіден бұл жоғарғы дәрежелі программалық модельдерді ықшамдайды, программистер үшін GPUдағы қиын мәліметтерді ажыратуларын оңайлатады.
Екіншіден Nvidiaғы абстракциялық жағдайлар GPUдің архитектурасын өзіне ыңғайлы қылып өзгертуіне мүмкіндік жасайды. соңғы GeForce Nvidia, 8 архитектурада 128 жіп процессорлары бар, олардың әрқайсысы 96 қосалқы жіпке дейін басқара алады, ең көбі 12, 288 жіпке дейін. Nvidia APIді өзгертпей ақ GPU дің келесі кезеңдерінде түгелімен қайта құруына болады. Керісінше, микропроцессорлардың архитектураның негізгі бөлігі тастарда қалыптасқан.
- Параллель есептеулердің артықшылықтары
Дербес компьютерлерді кішкентай керемет компьютерге айналдыру жабдықтары ерте кезден бері танымал. Өткен ғасырдың 80жылдарының өзінде сауда орындарында сол кезде кең тараған ISA кеңейуінің слоттарына қойылған транспьютерлер ұсынылып отырған. Алғашқы уақытта оның міндеттеріне қатысты оны шығару ерекше әсер берген, алайда кейін әмбебап жадлардың тез жұмыс жасауы артып, параллель шығару мәселесі жақсарғаннан соң транспьютердің мағынасы қалмады. Бірақта ол құрылғылар қазір болса да ол арнайы әр түрлі тездетуші құрылғылар. Алайда оларды қолдану аясы тар болғандықтан, бұл құрылғылар көп қолданыла бермейді[1] .
Бірақ соңғы кездерде паралельді есептеу үш көлемді ойындармен байланысты көпшілік сауда орындарына көшті. Көп ядролы әмбебап құрылғылар паралельді векторлы есептеулерге қарапайым әмбебап жадлардың шамасы жете бермейтін 3D-графикте қолданылып, жоғарғы шыңды өндіріске жетті. Әрине жоғарғы жылдамдықтар тек арнайы міндетте ғана көтеріледі, біраз шектеулері де бар. Бірақ бұндай құрылғылар қазір бұрын қолданылмаған аумақта да жиі қолданыла бастады. Сондай паралельді жаддың жақсы мысалына Sony Play Station ойын приставкаларында қолданылатын Sony - Toshibo-IBM альянсы құрған Cell жадлары мен сауда нарықтарында көсем болып келген NVIDIA және AMD компанияларының барлық заманауи бейнекарталарын жатқызуға болады.
Cell Ол барлық әмбебап жадтардан бірінші шықса да, 3D бейне тездетушілерге бірнеше жыл бұрын бірінші графикалық емес есептеу технологиясы GPGPU негіздемесі шықты (General- Purpose computation on GPUs) . Қазіргі заманауи чиптер жүздеген математикалық орындау блоктарды қабылдаған. Және осы күштер интенсивті қосымша есептерді тезірек шығаруға көмек береді. Қазіргі GPU ұрпақтары жоғарғы дәрежелі тілдік программалар мен программа-апаратты архитектураларда осы мүмкіндіктерді ашып, оларды қолжетімді етіп жасайтын ыңғайлы архитектурасы бар.
Бірақ GPCPU-ды құру заманауи бейнечиптерді орындайтын тез әрі ыңғайлы шейдерлі программалардың шығуына әсер етті. Өндірушілер GPU-ді тек 3D-де қолданып қана қоймай басқа да паралельді есептеулерде қолдана алатындай етіп жасауды ойлады. Ол үшін GPGPU-да графикалық API қолданылды: OpenGL және Direkt3D. Онда мәліметтер бейнечипке текстур ретінде беріліп, ал есептеу программалары шейдерлер ретінде көшірілді. Ол тәсілдердің келеңсіздіктеріне ауыр дәрежеде жобалау және CPU және GPU арасындағы айырбас шектеулері жатады.
GPU есептеулері өте тез қарқында жүрген және жүріп келеді. Және кейін бейнечиптерді шығарушы NVIDIA және AMD негізгі өндірушілері сәйкес CUDA (Comute Unified Devise ArChitecture) және CTM (Close To Metal немесе AMD Stream Computing) платформаларын ойлап тапты. Өткен модельдерге қарағанда GPU бейнекарттың аппаратты мүмкіндіктеріне тікелей қолжетімділікпен жасалған. Платформалар өзара сыйыспайды. CUDA ол C программалауының кеңейген тілі, ал CМТ ол ассемблярлық кілтті орындаушы вертуалды тіл. Онымен қоса екі платформалар өткен GPGPU модельінің маңызды шектеулерін таратты.
Әрине, OpenGL де қолданылатын ашық стандарттар әмбебап болып көрінеді. Олар әр түрлі өндірушілердің бейнечиптеріне тура сол кодты пайдалануға мүмкіндік туғызады. Алайда ол тәсілдерде бірнеше кемшіліктер бар, олар біршама ыңғайлы әрі жұмсақ. Сонымен қатар арнайы бейнекарттардың мүмкіндіктерінің бір шамасымен танысуға көмек береді.
Сол себепті NVIDIA компаниясы CUDA платформасына көшірді. Оның С программалық тілі өзінің компиляторы мен кітапханасымен GPU-да есеп шығаруға арналған. әрине оптималды кодты бейнечипте жазу оңай шаруа емес, ол қосымша жұмысты талап етеді. Бірақ CUDA дәл осы мүмкіндіктерді айқындауға арналған және программистке GPU-дың барлық мүмкіндіктерін бақылауға көмектеседі. NVIDIAжәнеCUDAGe Forse нің 8, 9, 200 сериялы бейнечиптерінде қолданылатын G8x, G9x, GT2xx чиптерінде бар. Қазіргі кезде CUDA 2. 0 дің қорытынды нұсқасы шықты. Онда одан да басқа жаңа мүмкіндіктер пайда болды. CUDA 32-64 битті Linux, Windows, MacOS X операциялық жүйелерінде қолдануға болады.
- GPU және CPU арасындағы параллель есептеулердегі айырмашылық
Әмбебап жадлардың жиілігінің артуы физикалық шектеулерге әкеліп тірелді, және энергияны жоғары дәрежеде пайдалану мен көп көлемде оны шығару бір чипте бірнеше ядроны орналастыруға байланысты болды. Қазіргі кездегі сатылатын жадтарда тек төрт ядро ғана болады, және олар қарапайым қосымшаларға ғана арналған. Онда MIMD деп аталатын көптеген әр түрлі командалар жинағы орналасқан. Әр бір ядро жеке жұмыс жасап, әр түрлі жадтарда әр түрлі мүмкіндіктерді орындайды.
Төрт компонентті және екі компонентті векторларға арналып мамандандырылған векторлық мүмкіндіктер әмбебап жадтарда біріншіден графикалық қосымшаларға деген сұраныс артуынан шықты. Сол себепті GPU-ді дәл осы мүмкіндіктер үшін қолдану ыңғайлы болып отыр. Себебі, ол дәл осыған арналған. Мысалы, NVIDIA бейне чиптерінде негізгі - сегіз немесе он ядролы, жүздеген ALU-ы бар, бірнеше мыңдаған регистрі бар және толық жадты бөліп тұратын бөлгіші бар мультижад орналасқан. Сонымен қатар онда бейне картада барлық мультижадтарды пайдалануға болатын әлемдік жад, әр бір мультижадта локальды жад, және константқа арналған қарапайым жадтары бар.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz