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

КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..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 есе артқан.
1 NVIDIA CUDA — неграфические вычисления на графических жадах Алексей Берилло 23 сентября 2008 г.
2 NVIDIA CUDA C Programming Guide 11/18/2011
3 CUDA by Example Jason Sanders, Edward Kandrot.2011 NVIDIA Corporation
4 Крис Касперски. Техника оптимизации программ. Эффективное использование памяти. - Спб.: БХВ-Петербург, 2003.
5 Lindholm, E., Nickolls, J., Oberman, S., Montrym, J. 2008. NVIDIA Tesla: A unified graphics and computing architecture.
6 Nickolls, J. 2007. NVIDIA GPU parallel computing architecture.
Stanford, CA; http://www.hotchips.org
7 http://developer.download.nvidia.com/compute/cuda/
8 http://www.nvidia.com
http://developer.nvidia.com
http://www.scs.fsu.edu
http://www.gpgpu.org
9 NVIDIA CUDA C Programming Best Practices Guide July 2009 NVIDIA Corporation.
10 Дарвин Дж. Г, Приливы и родственные им явления в Сол-нечной системе. — М.: Наука, 1965.
11 Чандрасекар С. Принципы звёздной динамики. — М..-ИЛ, 1948.
12 городников К, Ф. Динамика звёздных систем. -- М.: Физматлит, 1958.
13 Саслау У. Гравитационная физика звёздных и галактиче¬ских систем. — М.: Мир, 1989.
14 Спитцер Л. Динамическая эволюция шаровых скопле¬ний. — М.: Мир, 1990.
15 Белецкий В, В, Очерки о движении космических тел.—М.: Наука, 1977.
        
        |Қазақстан Республикасының Білім және ғылым министрлігі               |
| ... ... ... ... ... |
| |
| ... М. |
| |
| ... ... |
| |
| ... ҚҰБЫЛЫСТАРДЫ МОДЕЛДЕУ ҮШІН CUDA ҚОЛДАНУ |
| |
| |
| ... ... |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | ... 2012 | ... ... Білім және ғылым министрлігі |
| ... ... ... ... ... |
| ... ... |
| ... дене ... және ... ... ... |
| |
| ... жіберілді» ... ... О.Ю. |
| |
| ... ЖҰМЫС |
| |
| ... ... ... ... ҮШІН CUDA ... |
| |
| ... мамандығы бойынша |
| |
| |
| ... ... М. |
| ... ... ... А.Ж. ... ... |
| ... ... ... И.С. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| ... 2012 |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| ... ... ... 78 формуладан, 38 ... ... ... тізіміннен тұрады.
Термин сөздер: Рендеринг, Шейдер,CPU.PGPU.
Жұмыстың өзектілігі: Астрофизикадағы компьютерлік ...... ... ... ... көп саны
қатысатынына байланысты бір біріне ұқсас схемалармен көлемі төтенше жоғары
есептеулерді жүргізуге жиі тұра келетіні. ... ... ... ... ... суперкомпьютерсіз жүргізу мүмкін
емес. Алайда, CPU жиілігінің арту динамикасына мұқият қарасақ, оның ... ... ... ... ... ... жиіліктің тоқтаусыз
өсуі бірқатар технологиялық маңызды себептерге байланысты мүмкін емес ... ... да ... ... ... ... өндірушілері
бір процессордың жиілігін көтеруге емес, процессорлар мен ... ... көп ... ... ... ... ... GF8800GTX,
процессор саны 128 жетуі мүмкін. Көптеген жоғары көлемдегі есептеу жұмысын
жүргізуді талап ететін ... GPU ... ... ... ... ... айтарлықтай жылдамдатуға мүмкіндік береді ... бұл ... ... ... ... графикалық
интерфейсі шешу тиімсіз, себебі бұл API мүлдем басқа қолданысқа арналған.
Сол себепті Nvidia ... Compute Unified Device ... CUDA) ... — GPGPU-ң C ... ... ... беретін технологиясын даярлады.
Жұмыстың мақсаты: CUDA ... ... бұл ... ... ... ... талап ететін астрофизикалық
мәселелерді шешу үшін қолданудың тиімділігін миллион жұлдызға дейін кіргізе
алатын ... ... ... ... модельдеу
мысалында көрсету.
Зерттеу әдісі: CUDA-ның астрофизикалық құбылыстарды моделдеу үшін
тиімділігін растау үшін біз жұлдыздардың әр ... ... атап ... ... 3072, 4096, 5120, 7168, 10240, 14336, 16384 ... ... ... шоғырланудың эволюциясын программалаудың С++ тілінде
моделдедік.
ТЕРМИНДЕР
• API ( ағылшын тілінен қысқартылған ... ...... ... интерфейсі.
• DirectX- ойынды құрастыру және ... ... ... ... үшін ... ... ... Өл өзінде дыбыс және қосу мәзірі, 2D, 3D
графиктерді қолдау қосымшалары бар.
• Direct3D (D3D)- ... ... ... ... ... ... DirectX ға кіреді.
• OpenGL (ағылшын тілінен қысқартылған Open graphics Library, ... ... ашық ... кітапхана) – екіөлшемді және үшөлшемді
компьтерлік ... ... ... ... ... бағдарламалық интерфейс. Қиын үшөлшемді суреттерді онай
жолмен салу үшін шамамен 250 функциясы бар жиыннан тұрады. Бейне
ойындарды ... ... ... шындықта, ғылыми жұмыстарда
қолданылады. Windows тұғырнамада DirectX пен бәсекелеседі.
• OpenCL (ағылшын тілінен қысқартылған Open computing Language, сөзбе
сөз ... ... ашық ... ... ... тірегі) компьютерлік бағдарламаларды жазуға арналған,
ол бағдарламалар әртүрлі графикалық (GPU) және ... (CPU) ... OpenCL ... тілді
бағдарламалау және қосымшаларды бағдарлау интерфейсі (API). OpenCL
өзінде нұсқама және ... ... ... ... ... ... ... болып табылады.
• GPGPU (ағылшын тілінен қысқартылған General-Purpose Graphics
Processing Units, ... сөз ... ... ... графикалық жадында құрал жабдықтарды барлық
есептеулерде қолдану, ол жай ... ... жад ... ... ... ( ... shader) – ... суреттерде көленкені
орналастыру бағдарламасы, ол ... ... ... ... үшін ... Ережеге сәйкес жарықтың
жұтылуы және шағылуында, текстураны орнатуда, шағылу және сынуда,
қараңғылауда, беттікпен ... және ... ... ... ... Қиын ... қарапайым геометриялық
денелер арқылы суреттелінеді.
• Рендеринг ( ағылшынша rendering) – суреттелу, компьютерлік графикада
программалық ... ... ... алу ... ... тілінен қысқартылған Software Development Kit) ... ... ... ... ... CPU ... тілінен қысқартылған Central Processing Unit, сөзбе сөз
аударғанда – ... ... ...... ... ... ... құрылғы; ПК қамтамасыз
ететін аппарат бөлігі, ол бөлік есептелінетін операцияларды және ... ... ... ... ... ... GPU ... тілінен қысқартылған Graphic Processing Unit, сөзбе сөз
аударғанда – графиктік есептелінетін ... ... жад, ... ... ... ойын құралы, бұл құрал графикалық
суреттеуді атқарады. ... ... ... ... ... және ... графикаларды анық бейнелейді.
Графикалық жад қазіргі кездегі ... ... ... жад ретінде қолданылады, бірақ оны кей
жағдайларда есептелу үшін қолданылады.
МАЗМҰНЫ
КІРІСПЕ……...................................................................
.................. ......5
1 CUDA технологиясы және оның ... ... ... есептеулер
1.1.1 Параллель есептеулердің артықшылықтары
1.1.2 GPU мен CPU – дағы ... ... ... ... ... қолданудың бірінші әрекеттері
1.1.4 GPU дағы параллель есептеулердің ... ... CUDA ... кіріспе
1.2.1 NVIDIA CUDA –ң мүмкіншіліктері
1.2.2 CUDА - ның жетістіктері және шектеулері
1.2.3 CUDА - ның даму ... NVIDIA CUDA –ны ... ... NVIDIA CUDA ... ... программалау негіздері
1.3.1 CUDA -да программалаудың моделі
1.3.2 Бұтақталу
1.3.3 Ағындар ... ... - ... CUDA ... модельдері
1.3.4.1 Жад түрін таңдау, жергілікті жадтың ... ... ... ... ... ... жад банкілерінің жанжалдар
1.3.5 Бағдарламалау ортасы
1.3.6 CUDA дағы программаларды тиімдету
2 Жұлдыздардың ... ... мен ... ... ... шоғырлануларының қасиеттері.......18
2.2 Жұлдыздардың шартәріздес шоғырлануларының эволюциясы....19
2.2.1 Қарапайым модельдер
2.2.2 Тасу эффекті
2.2.3 Жеке және қос жұлдыздардың өзара әрекеті
2.2.4 ... ... ... Динамикалық үйкеліс
3 ... және ... ... ... ... ... ӘДЕБИЕТТЕР ТІЗІМІ............................................35
КІРІСПЕ
Компьютер әлдеқашан теоретик-астрономдардың ғана емес, сонымен қатар
бақылаушылардың да негізгі ... ... ... енді ... қабылдаушы
ретінде ПЗС матрица қызмет ететіндіктен, астрономдар бейнелерді окуляр
емес, монитор арқылы бақылай алады. ... ... ... ... ... да ... өте әрқилы. Бұл дегеніміз ... ... ... ... ... алынған мәліметтерді өңдеу
және талдау, ... ... ... ... аспан механикалық
есептеулерді жүргізу, қазіргі ғылымды ... ... ... ... Сонымен қатар, компьютер астрофизикалық процестерді сандық
моделдеу үшін ... ... ... ... ... компьютерлік модельдеудің ... ... ... ... ... көп саны ... бір біріне ұқсас схемалармен көлемі төтенше жоғары есептеулерді
жүргізуге жиі тұра ... ... ... ... ... ... ... жүргізу мүмкін емес.
Мысалы, Әлемнің ірі масштабты құрылысын және оның эволюциясын
моделдеу үшін ғалымдардың ... ... Virgo ... ... екі ... жарық жылына тең кубтық көлеміндегі (еске ... ... ... 10 ... ... асады) материяның
үлестірілуінің эволюциясын зерттеу барысында бір ғана ... ... ... ( ... ) Макс Планк қоғамының
суперкомпьютерлік орталығының ... ... ... бір ... уақытын алды. Бұның өзінде жұмыс тек қана 10 млрд.бөлшектермен жасалды,
ал бұл, әрине, мәселені айтарлықтай ... ... ... ... ... 300 ... кіреді.
Бірақ суперкомпьютерлер тек осындай алып жұмыстар үшін емес,
сонымен қатар әлде-қайда қарапайым тәжірибелер үшін де қажет. ... ... ... университетінің ғалымдары әлемдегі ең ... ... ... ... жаңа ... ... физика мен
астрофизика саласындағы зерттеулерді жүргізу үшін ... ... ... осы ... ... ... ... мен
галактикаладың жарылыстары, жұлдыздар мен планеталар ... ... ... ... ... құбылыстарды компьютерлік
модельдеуді жиі қажет ететінімен байланысты.
Астрофизикалық зерттеулер суперкомпьютерді қажет ететін көптеген
басқа да мысалдарды келтіруге болады.
Кез ... ... ... басты сипаттамалырының бірі
–жылдамдығы. Дербес компьютердің жылдамдығы ... ... (CPU-ң ... ... ... ... Соңғы он жылда есептеу
технологияларының ... ... ... ... ... х86 архитектурадағы
процессорының тактылық жиілігі 1978 жылы маусымда шыққанынан бастап қазірге
дейін 700 есе ... CPU ... арту ... ... ... оның ... елеулі түрде бәсеңдегенін байқаймыз. Тактылық ... ... ... технологиялық маңызды себептерге байланысты мүмкін емес ... ... ... ... «кремнийлік тығырыққа» тіреліп отыр.
Басқа себеп — жедел жад ... ... аз ... ... жылдам жұмыс жасаса да, мүлт ... ... ... ... ... ... - жадпен сәтсіз
жұмыс істеу болады.
Сондықтан да қазіргі ... ... ... ... бір
процессордың жиілігін көтеруге емес, процессорлар мен ... ... көп ... аударуда. Алдыңғы қатардағы жүйелерде ... ядро саны ... ... 8 –ге ... ... N ядроға параллельдетіп тастау арқылы ... ... үдеу ... заңы арқылы беріледі: S = 1/(1-P+P/N), мұнда Р –
программаның N процессорге ... ... ... ... уақыттың
үлесі. Сөйтіп, барлық программаның ¾ бөлігін параллельдете ... ұту 4 ... ... ... ... төрт есе тез ... ... жақсыбейімделген алгоритм мен әдістерді қолдану
маңызды.
Бірақ, GPU (Graphics Processing Unit) графикалық ... ... ... ... жолы әлдеқайда ерте таңдалған. Бүгінгі
видеокарталарда, мысалы GF8800GTX, процессор саны 128 жетуі мүмкін. ... ... ... ... ... ... өте жоғары болуы
мүмкін.
Алғаш видеокарталар ... ... олар ... ( ... ... ), тар ... тек ... екі
өлшемді мәліметтерді көрнекі түрге айналдыру жөніндегі жұмысын жеңілдетуге
арналған болды.
Бүгінде видеокартаны кванттық механика, ... ... ... криптография, фотографиялар бойынша бейнелерді қайта
қалпына келтіру, бейнелерді тану төңірегіндегі және т.б есептерді шешу үшін
пайдаланудың, яғни ... ... ... емес есептерді шешу
үшін пайдаланудың тенденциясы пайда болды. Сәйкес ... ... ... ... программалау (GPGPU)
технологиясы деп атайды. Көптеген ... ... ... ... ... ... ... GPU архитектурасына жақсы орналасып,
олардың сандық шешуін айтарлықтай жылдамдатуға мүмкіндік береді екен.
Алайда, бұл ... ... ... ... ... (API) ... OpenGL) шешу тиімсіз, себебі бұл API
мүлдем басқа қолданысқа арналған.
Сол себепті Nvidia компаниясында Compute Unified Device Architecture
(қысқаша CUDA) ... — GPGPU-ң C ... ... ... ... ... ... CUDA SDK деп аталатын алғашқы
нұсқасы 2007 ... ... ... 2010 жылы ... ... ... байланысты жұмыстың келесі
мақсаты алға қойылды: CUDA ... ... бұл ... ... көлемін жүргізуге талап ... ... шешу үшін ... ... миллион жұлдызға дейін кіргізе
алатын шартіріздес ... ... ... ... ... CUDA ... ЖӘНЕ ОНЫҢ АРТЫҚШЫЛЫҚТАРЫ
1.1 GPU-дағы параллель есептеулер
Compute Unified Device ... (CUDA) Nvidia ... ... ... ... ... ... үшін
бағдарламалық жабдықталу болып табылады. Жылдық қорытындылардан кейін ... және ... ... ... қарсыластарын ұтты, негізгі
ұсынылған кезеңі 2006 жылы. Сол ... Nvidia жоба ... GPU ... құрылғы секілді кедергі жасайды, ол құрылғы electronicgames және ... ... ... тұр. ... басу ... қосалқы орналасқан жіптер
бойынша басқара алады, және де бұл процессорлар жеке ... ... олар жеке ... есте ... бөлді.
CUDA өзінде softwaredevelopment құрал жабдықтарын, міндет
кітапханаларын және hardwareabstraction ... бар ... ... CUDA ... ... ... кодекс жазғандарын қалайды,
бірақ олар қарапайым жағдайларды басқаруларын қаламады. CUDA ... ... C/C ++ ... қоса ... жад арқылы GPU с
кодексімен біріктіре алуларына болды. Бірақ бұл ... ... ... ... ... ... жүзетін үтір дәлдігіне бағынулары
болып тұр. Жүзетін үтір Doubleprecision, ол осы ... ... GPU дің ... Nvidia ның жол ... ... ... ... Nvidiaның мықты болуы, оның бәсекелестерін мықты болуына
әрекет жасайды. Nvidia барлық ... ... ... ... ... архитектурасын ешқашан айтпаған. Бұның қорытындысы
яғни программистердің осыған ... ... ... негіз болған.
Бұлардың орнына олар APIдің анықталынған графикалық ... ... бұл ... дәрежелі программалық модельдерді ... үшін ... қиын ... ... оңайлатады.
Екіншіден Nvidiaғы абстракциялық жағдайлар GPUдің архитектурасын
өзіне ыңғайлы қылып өзгертуіне мүмкіндік жасайды. соңғы GeForce Nvidia, ... 128 жіп ... бар, ... ... 96 ... ... басқара алады, ең көбі 12,288 жіпке дейін. Nvidia APIді өзгертпей ақ
GPU дің келесі кезеңдерінде ... ... ... ... ... ... негізгі бөлігі тастарда қалыптасқан.
1. Параллель есептеулердің артықшылықтары
Дербес компьютерлерді кішкентай керемет компьютерге ... ерте ... бері ... ... ... ... ... орындарында сол кезде кең тараған ISA кеңейуінің слоттарына қойылған
транспьютерлер ұсынылып отырған. Алғашқы ... оның ... ... ... ... әсер берген, алайда кейін әмбебап жадлардың тез жұмыс
жасауы артып, параллель ... ... ... соң ... ... Бірақта ол құрылғылар қазір болса да ол арнайы әр түрлі
тездетуші құрылғылар. ... ... ... аясы тар ... ... көп ... бермейді[1].
Бірақ соңғы кездерде паралельді ... үш ... ... ... ... орындарына көшті. Көп ядролы әмбебап құрылғылар
паралельді векторлы есептеулерге қарапайым әмбебап жадлардың ... ... ... ... жоғарғы шыңды өндіріске жетті. Әрине
жоғарғы жылдамдықтар тек арнайы міндетте ғана көтеріледі, ... ... бар. ... ... ... ... ... қолданылмаған аумақта да жиі
қолданыла бастады. Сондай паралельді жаддың ... ... Sony ... ойын ... қолданылатын Sony – Toshibo-IBM ... Cell ... мен ... ... ... ... келген NVIDIA және
AMD компанияларының барлық заманауи бейнекарталарын жатқызуға болады.
Cell Ол барлық әмбебап ... ... ... да,3D ... ... жыл ... бірінші графикалық емес есептеу технологиясы GPGPU
негіздемесі шықты (General- Purpose ... on GPUs). ... ... ... математикалық орындау блоктарды қабылдаған. Және осы
күштер интенсивті қосымша есептерді ... ... ... ... ... ... ... дәрежелі тілдік программалар мен программа-апаратты
архитектураларда осы мүмкіндіктерді ашып, оларды қолжетімді етіп ... ... ... ... құру ... ... орындайтын тез әрі
ыңғайлы шейдерлі программалардың шығуына әсер етті. Өндірушілер GPU-ді ... ... қана ... ... да ... ... ... етіп жасауды ойлады. Ол үшін GPGPU-да графикалық API ... және ... Онда ... ... текстур ретінде беріліп,
ал есептеу программалары шейдерлер ... ... Ол ... ауыр ... жобалау және CPU және GPU арасындағы
айырбас шектеулері ... ... өте тез ... ... және ... ... ... бейнечиптерді шығарушы NVIDIA және AMD негізгі өндірушілері
сәйкес CUDA (Comute Unified Devise ... CTM (Close To ... AMD Stream ... ... ойлап тапты. Өткен модельдерге
қарағанда GPU ... ... ... ... ... ... ... сыйыспайды. CUDA ол C
программалауының кеңейген тілі, ал CМТ ол ассемблярлық ... ... тіл. ... қоса екі ... ... GPGPU модельінің
маңызды шектеулерін таратты.
Әрине, OpenGL де қолданылатын ашық ... ... ... Олар әр ... ... ... тура сол ... мүмкіндік туғызады. Алайда ол тәсілдерде бірнеше кемшіліктер
бар, олар біршама ыңғайлы әрі жұмсақ. Сонымен ... ... ... бір шамасымен танысуға көмек береді.
Сол себепті NVIDIA компаниясы CUDA ... ... Оның ... тілі өзінің компиляторы мен кітапханасымен GPU-да есеп
шығаруға арналған. әрине ... ... ... жазу оңай шаруа емес,
ол қосымша жұмысты талап етеді. ... CUDA дәл осы ... ... және программистке GPU-дың барлық мүмкіндіктерін
бақылауға көмектеседі. NVIDIAжәнеCUDAGe Forse нің 8,9,200 ... ... G8x, G9x, GT2xx ... бар. ... ... 2.0 дің қорытынды нұсқасы шықты. Онда одан да ... жаңа ... ... CUDA 32-64 ... Linux, Windows, MacOS X ... ... болады.
2. GPU және CPU арасындағы параллель есептеулердегі айырмашылық
Әмбебап жадлардың ... ... ... ... әкеліп
тірелді, және энергияны жоғары дәрежеде пайдалану мен көп ... ... бір ... ... ... ... ... болды. Қазіргі
кездегі сатылатын жадтарда тек төрт ядро ғана ... және олар ... ғана ... Онда MIMD деп аталатын көптеген әр ... ... ... Әр бір ядро жеке ... ... әр ... әр ... ... ... ... және екі компонентті векторларға арналып
мамандандырылған векторлық ... ... ... ... ... ... ... артуынан шықты. Сол себепті GPU-ді
дәл осы мүмкіндіктер үшін қолдану ыңғайлы болып отыр. ... ол дәл ... ... NVIDIA ... ... ... – сегіз немесе ... ... ALU-ы бар, ... ... ... бар және ... жадты
бөліп тұратын бөлгіші бар мультижад орналасқан. Сонымен қатар онда бейне
картада барлық мультижадтарды ... ... ... жад, әр ... ... жад, және константқа арналған қарапайым жадтары бар.
Ең бастысы GPU ... ... ... ядролары SIMD ядролары
болып табылады, және бұл ядролар сол ... бір ... ... бұндай түрі графикалық алгоритмдер мен көптеген ... ... ... ... ... ол қосымша спецификалық
жобалауды қажет етеді. Сонымен қоса тағы СPU мен GPU ... ... атап ... СPU ... ... ... бір ғана ... мүмкіндіктерін орындауға арналған, ал GPU ... ... көп ... ... ... ... ... жоғарғы өндірісті дәрежеге жету үшін мамандандырылған[2].
Бейнечиптерде жұмыс параллельді орналасқандықтан олар қарапайым. Бейнечип
кірерде полигон тобын ... ... ... ... ... ... ... мен полигондарды өңдеу еркін, оларды бір
бірінен бөлек параллельді орындайды. Сол себепті ... ... ... ... жұмысында үлкен көлемде басқа ... ... ... оңай ... ... бар. Сонымен
қатар заманауи GPU-лар тактта бір талаптан артық орындауы ... ... олар MAD+ MUL және MAD+SFU ... бір ... ... мен CPU ... кіру мәселелеріне байланысты ерекшеленеді, және
GPU- да ол байланысқан және ... ... тұр. Егер ... ... ... одан ... ... кейін басқа текстильдеріне уақыт келеді, және
оларды жазу үшін де пиксель фреймбуферге жазылады, және бірнеше ... ... ... ... Сол ... ... ... CPU-да
қолданылатындардан ерекшеленеді, және ... ... ... ... көлемдік еш - жадтар қажет емес. Тек бірнеше килобайтты
қажет ... ... ғана ... ... ... CPU мен GPU ... ерекшеліктері бар. Барлық ... ... ... ... ... ал GPU-да ... ... бақылаушы бар, яғни NVIDIA
GT200 чипінда 64- битті қаналда сегіз ... ... ... ... ... жад қолданылады, нәтижесінде бейнечиптер ... ... жад ... ... Ол ... ... үшін маңызды.
Есептелінетін жүйелердің негізгі қиындықтарды туғызатын мәселелерінің бірі
болып жадтың жүйеден жай жұмыс істеуі болып ... CPU ... ... ... ... жолын табады. Көп жағдайда қолданылатын жад аймақтары
жоғарғы оперативті немесе кэш-жадқа орналастырылады, олар жүйе ... ... Бұл көп ... ... және ... есептеу арқылы
жүйені қосуында уақытты ұтуға мүмкіндік береді.
Программистер үшін кэш тұнық. Олар оқығанда, ... ... ... тіке ... олар кэш ... өтіп ... ... кейін кей мәндерді тез есептеуге мүмкіндік береді.
GPU да (мұнда GeForce туралы айтылған) кэштер бар, олар ... бұл ... ... ... ... ... ... барлық жадта
кэштенеді, ал екіншіден кэштер тек оқылу үшін ғана ... ... да ... есептеулерді қолданып, жадтың жай айналуын жасырады.
Бір есептеулер мәліметтерді ... ... ... ... жасап тұрады.
Бұл CUDA ның орташа алғанда шығарылымды көтеру үшін арналған мақсаттарының
бірі.
Әмбебап жадтарда ... мен ... ... ... өтеді. Барлық бұл аппаратты блоктар көптеген топ бұйрықтарын
орындау үшін қажет. Бейнечиптер ... ... ... ... Олар ... ... ... бөлетін блоктар тобын
басқарады. Жоғарыда айтылғандар жеке ... ... ... ... ... ... және ... өткізгіштік жадты қажет ететін
бірнеше мыңдаған топтарды шығаруына көмектеседі.
Кештеудің ерекшеліктері ... ... ... ... кеш - ... ... ... кірудің баяулауын тоқтату арқылы ұлғайту үшін
пайдаланады. Ал GPU кешті немесе ... ... ... ... ... ... CPU үлкен жадты кеш арқылы жадқа деген кіру баяулығын ... ... ... ... көп ... мен көп ... ... етеді.
Бейнечиптер жадқа кіру баяулығын бірнеше мыңдаған топтарды қатар алып ... ... ... бір топ өзінің жадтағы мәліметтерін күтіп
отырғанда, келесі бейнечип ... ... ... күтпей жылдам шығара
береді. Көп топты ... ... ... бар. CPU бір ... ... топ есеп шығарады, ал бейнечиптер чиптегі бірнеше дана ... ... ... 1024 топ ... Егер CPU-да бір топтан екінші топқа
ауысу жүздеген такттан тұрса, онда GPU бір күнде бірнеше топқа ауыса алады.
Сонымен ... ... ... SIMD ... ... есептер үшін
қолданады. Ал бейнечиптер оны топты скалярлы өңдеу үшін қолданады. SIMD ... ... ... ... ... етпейді.
Қорытындысында GPU қуатын дұрыс қолдану негізіне ғылыми және басқа
да графикалық емес ... ... ... ... ... ... ... молыкулалы модельдеудегі бірнеше
қосымшалар бейнекартада есептеуге жақсы дағдыланған. Олар есептеу ... ... қуат ... ... Сол ... олар ... ... үшін
тиімді[3-7].
1-Сурет CPU және GPU да әр түрлі логика қанша орын алатындығы
көрсетеді
GPU да есептеулерді жүргізу ... ... ... ... параллельді мәліметтер өңдеу жолын қолданады. Сонымен қатар жақсы
нәтижелерге жетеді. Егер арифметикалық талаптардың саны ... ... ... ... онда ... ... өседі.
Жоғарыда айтылған барлық ерекшеліктердің нәтижесінде бейнечиптердің
теориялық өндірілуі CPU өндірісінен асады. NVIDIA компаниясы осындай ... GPU ... ... ... жыл бойы ... ... GPU-дағы есептеулерді қолданудың бірінші әрекеттері
Бейнечиптерді параллельді математикалық есептеулерде бұрыннан бері
қолдануға тырысқан. ... ... ... ... өте ... және кейбір аппаратты функцияларда шектеу ... ... және Z ... Бірақ қазіргі ғасырда шейдерлер пайда
болғаннан кейін матрицаларды шығара бастаған. 2003 жылы SIGGRAPN да ... GPU мен ... ... Және ол GPGPU (General ... GPU) ... атауға ие болған. BrookGPU көбірек танымал –
бұл Brook жобалауының GPU да графикалық емес есептеулерін жүргізетін ... ... ... табылады. Ол шыққанға дейін өндірушілер
бейнечиптерде есеп шығару үшін кең ... екі API: Direkt3D ... ... Ол GPUдың қолданысын шектеді, ... оның ... ... мен ... ... Brook оның ... көмектеседі. Стенфорд университетінде шыққан бұл С тілінің
кеңеюлері программистерден үш дәрежелі API ді ... да, ... жад ... ... ... бір ... C++ ... және DirektX, OpenGL, x86 қосымшаларымен қолданды. Әрине Brook-
тың көптеген кемшіліктері бар. ... оның жай ғана ... ... өзі ... ... NVIDIA және ATI ға ... туындайды. Себебі бұл
сауданы күрделі түрде өзгертіп, жаңа секторлар шығарды. Яғни, бейнечиптер
бойынша параллельді есептеу.
Кейінірек Brook ... ... ... ... ... ... ... Олар параллельді есептеудің жобалық-
апаратты бағытын дамытқан. NVIDIA – ның ең негізгі ерекшелігі ... ... ... ... Ол жобаның күшіне NVIDIA ... ... ... есептеулердің қолдану аясы
Есептеулерді бейнечипке көшіру қандай ерекшелікті әкелетінін түсіну
үшін орта ... ... ... ... Орта есеппен GPUда есеп шығару
үшін көптеген берілген тапсырмаларда әмбебап жадтарға қарағанда 5 ... ... ... Ең үлкен сандар SSE блоктары ... ... ... бар.
Тек бірнеше осында мысалдарды атап кетейік:
• Флуоресцентті микроскопия: 12x;
• Молекулярлы динамика ( non – bonder ... : ... ... ... тікелей және көп дәрежелі түрде суммирлеу): 40-
120x және 7x
Қазір GPU да келесі есептеулер жүргізіледі: ... және ... ... ... ... симуляциялау, есептеу математикасы, есептеу
биологиясы, қаржылық ... ... ... ... мен сұйықтар
динамикасы, криптография, адаптикалық сәулелі терапия, астрономия, дыбысты
өңдеу, биоинформатика, ... ... ... көз ... ... ... ... кино және теледидар,
электромагнитті ... ... ... әскери қолданыстар, таулық
жобалар, молекулярлы динамика ,магнитті –резонансты топография, нейрожелі,
мухитаралық графикті зерттеулер, физика ... ... ... ... ... ... ... модельдеу, жасанды
интелект, спутникті мәліметтер анализі, сейсмикалық барлау, хирургия,
ультрадыбыс, бейнеконференциялар.
Олар жайлы қосымшаларды NVIDIA ... ... CUDA ... ... ... ... отырғандарыңыздай тізім өте үлкен, бірақ бұл
барлығы емес. Оны жалғастыруға да болады, тіпті болашақта басқасын да ... ... CUDA ... кіріспе
Бұл тақырыпта программистерге қуатты есептелінетін ... ... ... ... Nvidia ... ... ... көмегімен географиялық жүйесіне бағдарлама жасауға мүмкіндік береді.
Еспетелінетін технологиялардың дамуы соңғы онжылдақта қарқынды ... ... ... жүйе ... ... ... тірелді. Тактілі
жиілігінің өсуі технологиялық себептерге мүмкін емес ... ... ... ... ... жүйе ... бір жүйенің жиілігінің өсуіне емес,
жүйенің және ядерлердің өсуіне көңіл аударатын болды. Қазіргі таңда ... (CPU) ... ... 8 ге ... ...... ... оперативті жадтың жылдамдығының аз
болуы. Жүйенің тез жұмыс істеуі ... ... ... тар ... ... көрсеткендей бұл арифметикалық операция ... бұл яғни ... ... ... ... ... жүйелерге қарайтын болсақ GPU (Graphics
Processing Unit) қосалқы ... ... ... ... ... ... GF8800GTX, жүйе саны 128ге жетуі мүмкін. Жүйе
шығарушылар программалағанда ... ... ... (сур ... GPU және CPU үшін ... нүктелердің операциялар саны.
Сатылымда алғаш рет бейнекарталар шыққанда, олар ... ... ... ... ... ... қызметке бағытталған
құрылғылар, олар екіөлшемді мәліметтердің көзқарасы бойынша жүйенің
қиындығын алу үшін ... Ойын ... ... және Doom ... ... (сур 3) ... ... ойындардың пайда болуы 3D
аймағында қажеттіліктер пайда бола бастады.
3Dfx компаниясының ұсынуларында ... Voodoo (1996) ... және 2001 ... дейін GPUда кірген ақпараттар үшін ... ... ... Көру алгоритмдерде программистерде басқа
амалдар болмаған, және ыңғайлылығы үшін шейдерлер-аз бағдарламалар шыққан,
олар ... шың және ... үшін ... ... Олардың
жұмыстарына шыңдарда қайтакірулер кірген және нүктеде ... ... ... ... моделі бойынша. Дегенмен қазіргі таңда шейдерлер
үлкен қарқынды дамуда, олардың азғана ... ... ... және ... үшін ... ... ... көпжүйелі жүйе дамуына бағытталғанда, шейдерлер тілі
азғана қызметке бағытталған ... ... ... FORTRAN ... болады, сонымен қатар олар бір мәселе ғана үшін арналған.
Шейдерлер басқа ... аз ... тек ... ... ... ... ... FORTRAN секілді сандық есептеулерден басқа
есептеулерді шығару үшін ыңғайлы емес.
Квантты ... ... ... ... ... ... корректілі визуализацияның, фотолар бойынша
реконструкция және ... ... ... ... емес ... ... ... бүгінгі таңда пайда болды. Бұл есептеулер
API ортасында ыңғайсыз болып отыр (DirectX, OpenGL) , олар ... ... үшін ... табылған.
GPU дың ортақ мақсаты бағдарламаның ... ... ... үшін ойға ... Nvidia ... қалауында Computer
Unified Device Architecture технологиясы ойлап табылды, оған қарсылас Ati-
Stream технологиясы болды.
Осы мақала жазылғанда STREAM технологиясы ... әлде ... ... отырған, сондықтан бұл қарастырылмайды. Біз CUDA ның ... ... ... ... ол С++ тілінде жазуға мүмкіндік
береді.
1. NVIDIA CUDA –ң мүмкіншіліктері
CUDA технологиясы бұл ... ... ... ... ... ол Си ... кеңейтілуіне негізделген, ол
графикалық жылдамдатқыштың құралдарын құрауда және қосалқы есептерді құру
кезінде жадты басқаруына мүмкіндік береді. CUDA ... ... ... және одан ... ... (GeForce 8, GeForce 9, GeForce ... қатар Quardo жәнеTesla графикалық жүйелердегі бейнетездеткіштерінің
алгоритмін анықтауға көмектеседі.
CUDA ... ... ... ... ... ... ... алдыңғы GPGPU есептеулерінен төмен. Осындай бағдарламалар MPI секілді
бірнеше мультижүйелердің қосымшаларының бөлуін ... ... ... ортақ
бейнежадта сақталатын ... ... ... OpenMP ... бағдарламалағанда, CUDA бағдарламасы жадтың жақсы ұйымдасуын
талап етеді.
Құраушылар үшін ... ... ... мен жақсы
құжатталғаннан тұрады. Оқыту бағдарламасы OpenMP және ... ... үшін ... ... ... ... АPIдің негізі болып Си
тілінің кеңейтілуі болып ... ... ... үшін осы ... ... ... ашық ... Open 64 негізінде құрылған nvcc тобындағы
компилятор кіреді.
CUDA-ның негізгі сипаттамалары:
• NVIDIA ... ... ... үшін ... есептеулер;
• ұялыдан мультичиптерге дейін үлкен қолдау шешімдер жинағы;
• Си бағдарлауындағы қалыпты тілі;
• FFT (Фурьенің жылдам ... ... және BLAS ... ... ... ... кітапхана;
• CPU және GPU арасындағы оңтайландырылған мәліметтер алмасуы;
• Графикалық API OpenGL және DirectX арасындағы әсер;
• 32 және 64 ... ... ... ... Windows XP, ... Linux және MacOS X;
• Төмен деңгейде құрау мүмкіншілігі.
Сонымен қатар операциялық жүйелерді ... ... ... (Red Hat ... Linux ... SUSE Linux 10.x)
қолдануын айта кету керек, бұл негізі энтузиасттердің айтуы ... ... ... жиындарда да жұмыс атқарады: Fedora Core, Ubuntu, Gentoo және
т.б.
CUDА (CUDА Toolkit) құраушылары келесілерді ... Nvcc ... FFT және BLAS ... ... GPU үшін gdb дұрыстаушысы;
• Стандартты NVIDIA драйверінің құрамындағы CUDА runtime ... CUDА ... SDK ... код, ... және ... код үшін ... битонды қосалқы сұрыптау (bitonic sort),
матрицаның өзгерісі, үлкен алаптардағы қосалқы префиксті ... ... ... ... құрылуы, мысалғы OpenGL және Direct3D ара-
қатынасы, CUBLAS және CUFFT ... ... ... ... ( ... формула, биноминальді түрі, Монте-Карло әдісі),
Mersenne Twister кездейсоқ сандары үшін қосалқы генератор, ... ... ... ... ... ... сүзгіші (шекара
орналасуы).
2. CUDА - ның жетістіктері және шектеулері
Программисттің көзқарасы бойынша графикалық ... құру ... ... ... ... ... болып түрленеді, ал мониторда
көрсетілген блок растеризациясы - ол ... GPGPU ды ... ... келесідей болады:
1.3-Сурет GPGPUді бағдарламалағандағы дәстүрлі модель
Осындай түрдегі есептеулерді GPU ға көшіру үшін арнайы ... Екі ... ... ... бейнеде немесе буфер бейнетысында
фигураның талдауын қажет етеді. Қалпы растеризуланып, әр пиксельдің ... ... ... Әр ... үшін ... ... есептейді. Осы көпсанды операциялар қарапайым тілдегі
бағдарлау бір ... ... ... ... ... GPGPU қолдану барлық мақсаттағы есептеулер үшін құраушыларды
оқытуда үлкен қиындық түрінде болып тұр. Басқа ... де ... ... бұл ... оның ... қорытынды түсіне
бағынышты формула ғана, ал ... ... ... ... ... тілдік жазылулары. GPGPUдағы алғашқы әдістері қулы болды, ол
GPU дің қуаттылығын қолданады, ол барлық ... ... ... ... ... ... ал ... бағдарламасы
болып отыр. Мұнда модель жадын және қолдануын ... ... кету ... компаниясындағы GPU дағы бағдарламалық-аппараттық
архитектурасы GPGPUдің алдыңғы ... ... ... ... яғни Си ... стандартты синтаксис бойынша GPU үшін
программаларды жазуға мүмкіндіе береді. CUDА графикалық API ға ... және ... ... есептеулер үшін бірнеше ерекшеліктері бар.
CUDА ның GPGPU есептеулеріндегі дәстүрлі тіл табу ... CUDА ... ... ... Си ... ... ол процессті оқуда және CUDА
архитектурасын енгізуде ... CUDА 16 кб ... ... ... ... ... ол текстуралы таңдаулармен салыстыратын
кэшті ұйымдастыратын енді өкізу жолағын қолданады;
• Жүйе және ... ... ... мәліметтер айналымы;
• Графикалық API дағы қажеттіліктердің болмауы;
• Жадтың сызықты ... gather және scatter, ... ... ... CUDА ның жабық архитектурасы, ол NVIDIAға тәуелді.
CUDА негізгі шектеулері:
... ... ... ... ... 32 ... блоктың минимальді ені;
• NVIDIA тәуелді CUDАның жабық архитектурасы.
GPGPU ның алдыңғы әдістері ... ... ... ... ... оның ... ... атқаратын блоктарды қолданбауы, онда
мәліметтер текстурада сақталынады, олар ... тыс ... ал ... ... ... шейдерлі блоктарды
қолданады. GPGPU дың шектеулері ретінде келесілерді атап кетуімізге болады:
аппаратты мүмкіншіліктерді эффективті қолдаунары аз ... ... ... аз ... scatter ... ... (тек gather ғана бар),
графикалық APIді міндетті түрде қолдану.
GPGPU ның алдыңғы ... ... ... негізгі
басымдылықтары ретінде бұл архитектураның ... емес ... ... ... және бағдарламада графикалық концепция үшін
ыңғайлы жағдайда алгоритмдерді ауыстырмай С тілін қолданулары болып ... GPUда ... APIді ... ... жаңа жолын ұсынды, ол жол
жадқа баратын қосымша жолдың бірі (scatter немесе gather). ... ... ... ... және ... атқарылатын блоктар жұмыс жасайды,
сонымен қатар толықсанды математика және битті қозғалудығы операцияларды
қолдану аясын кеңейтті.
Онымен ... CUDА ... APIде қол ... алмайтын аймақтардың
ашылуына жол беретін ... ... ... ... ... секілді. Бұл аз көлемді жад ағын ... ... ... 16 ... Бұл көп қолданылатын мәліметтерді кэштейді және
ол осы ... үшін ... ... салыстырғанда үлкен
жылдамдықты қамтамасыз етеді. Ол өз кезегінде көп ... ... ... ... ... бұл ... ... тиімді, ол Фурьенің тез қайта құрылуына және ... ... үшін ... ... және ... ... ... Графикалық APIдегі
программалық код мәліметтерді бір дәлдіктегі ... ... ... ... ол алдымен орналасу аймағын анықтап алады (RGBA мәні сегіз
render target үшін бірдей), ал CUDА ол scatter ... ... ... ол
басылым кез келген мекен үшін ... ... ... ... ... GPU де ... ... орындалуына мүмкіндік береді,
олар графикалық APIде негізделген GPGPU ... ... ... атқарылады.
Сонымен қатар графикалық API мәліметтерді текстураларда сақтайды,
оның себебі алгоритмдердің қиындатылуы және ... ... ... ... ... Ал CUDА кез ... ... барлық мәліметтерді оқи
алады. Сонымен қатар бір жағынан айтқанда CUDА GPU және CPU ... ... ... Ал ... ... қалайтын тапқыштар үшін
CUDА ассемблерде төмен деңгейлі бағдарлама жабдықталуын ұсынады.
3. CUDА - ның даму ... ... 2006 жылы ... ... G80 шығарылды, ал оның
негізігі CUDА SDK шығуы 2007 жылы ... 2007 жылы Tesla ... ... 1.0
версиясы шықты, ол G80 чипіне негізделген, және ол жоғарышығарылым
есептеулер үшін ... ... жыл ... ... бета түрі 1.1 ... ол
мәнсіз болғанмен көп жаңа мүмкіндіктерді әкелді.
CUDА1.1 түрінде шыққан NVIDIA бейне ... CUDА ... ... Бұл CUDА ның кез ... ... GeForce8 ... жоғары бейне карталарын айтуға ... ... ... ... ті атап ... болады. Бұл шығарущылар үшін өте ... ... ... ... оңай жұмыс істей алады. Сонымен ... ... іске ... тағы ... бейнежадтарда
ассихронды берілуі, жадқа рұқсат алу операциялары, 64 битті Windows түрін
көтеретін және SLI ... ... ... жұмысының
мүмкіншіліктері.
Осы уақытта GT200-CUDA 2.0 негізіндегі есептеулер қазіргі таңда
тиімді болып отыр, олар сызықты GeForce GTX 200 ... ... Бұл бета ... жылы ... түрінде екі дәлдікті есептеулерді және Mac OS ... онда 3D ... ... ... есептеулерге қарасақ, онда олардың осы кездегі
аппаратты шығарылуда бірдәлдіктен ... аз ... ... ... біздің GeForce GTX 280 мақаласында қарастырылған. GT200 дегі
орналастырулар бұл ... FP32 ... 10 есе ... ... одан да ... ... ... оған себеп
архитектурасының 32 битті оқылуы болуы мүмкін, сонымен қатар ол ... ... ... және GT200 үшін де ... ... ... төртядерлі жүйелер шығарылымы әлде қайда ... ... ... ... ... 10 есе төмен болуы мүмкін, мұндай жағдай
аралас дәлдіктер үшін қажет. Көп ... ... ... жақындап,
одан одан екідәлдікті анықтайды. Енді оны бейнекарталарда жасауы мүмкін.
CUDA 2.0 тағы бір ... ... бірі ... GPU ... ... Қазір орталық жүйенің тез атқарылуы үшін жоғары эффективті
көп ағынды SSE кодында CUDA кодын ортақтауға ... Бұл ... ... ... ғана ... сонымен қатар NVIDIA бейнекартасы ... ... ... ... ... себеп ретінде NVIDIAның барлық
жүйеде болуы негіз болып отыр. 2.0 түріне дейін мұндай ... екі ... ... ... CUDAға жеке және CPU ға жеке. Ал енді CPUда барлық
CUDAны атқаруға ... бұл ... ... болса да.
4. NVIDIA CUDA –ны қолдайтын бейнекарталар
CUDA көмегі бар болған барлық ... ... және ... ... ... және ... зерттеулерге дейін сұраныс
есептеулерін ... ... ... ... шектеу ретінде CUDA
бағдарламаларының кемінде бейнежадтары 256 мегабайт құрауы, бұл ... үшін ... ... ... ... ... азықтарды NVIDIA вебсайтында көруге болады. Осы CUDA
мақаласы жазылған кезде азықтардың GeForce200, GeForce 9 және GeForce ... ... ... ... ... ұялы ... GeForce 8400М нен
бастап сонымен қатар GeForce8100, 8200, 8300 чипстері. ... ... ... ... Quardo және Tesla: S1070, C1060, C870, D870 және ... 4-Сурет Tesla: S1070, C1060, C870, D870 и S870
.
Жаңа GeForce GTX 260 және 280 ... ... Tesla C1060, S1070 ... анықталыған , олар осы
күзде шығады. GPUда сол GT200 қолданған, C1060та біреу, S1070 те төртеу.
Бірақ мұнда әр чип үшін ... жад ... Оған кері ... ... аздылығы және ПСП, олар ойын ... ... олар ... 102 ... қамтамасызқ етеді.
5. NVIDIA CUDA құрамы
CUDA екі APIді құрайды: жоғарғы деңгей (CUDA Runtime API) және
төменгі (CUDA Driver API), ... бір ... ... де ... емес, екеуінің біреуін қолдану қажет. Жоғарыдеңгейлі төмендеңгейден
жоғары жұмыс ... ... ... ... ... ... ол төмендеңгейлі Driver API де ... ... API ... ... ... және NVIDIA ... ... жоғары деңгей бар-екі кітапхана
CUBLAS- CUDAның BLAS түрі (Basic Linear Algebra ... ... ... ... үшін және ... ресурстарына тіке рұқсатты
алады.
CUFFT- CUDAның Fast Fourier Transform кітапхана түрі Фурьенің тез
құрылуына арналған, ол ... ... ... ... ... көтереді: complex- complex (C2C), real-complex (R2C), complex-real
C2R).
Осы кітапханаларды қарастырайық. CUBLAS – бұл CUDA тілінде сызықты
алгебраның стандартты алгоритмі, осы ... тек ... ... ... функцияларының жинағы қолданады. Кітапхананы оңай қолдануға болады:
алдымен матрица және бейне жадындағы ... ... ... ... ... қажетті функцияларды шақырып, одан ... ... ... ... BLAS ... ... ... сандар
үшін 1, 2 және 3 деңгейлері, кешен үшін CGEMM 1 ... 1 ші ... ... 2 ші ... ... 3
ші деңгей-матрицалы-матрицалық деңгей.
CUFFT-CUDA варианты ол Фурьенің тез қайта құрылуындағы ... ... кең ... және дыбыстарды өңдегенде, фильтірлегенде өте қажетті.
NVIDIA ... ... ... FFT тіні ... CUFFT ... ... ұсынады. CUDA FFT варианты 1D, 2D
және 3D құрай алады, 1D бұл ... ... ... 2D және ... [2. 16384 ] ... ... мүмкін, 1D үшін 8 миллион элементке
дейін өлшемдер көтеріле алады.
1,3 CUDA-да программалау негіздері
Араы ... ... ... NVIDIA ... ... қарастыру керек. GPU бірнеше текстуралы кластерлерден тұрады
(Texture ... ... Әр ... ... блок ... және ... ағынды мультижүйеден тұрады, оның әрқайсысы сегіз ... және екі ... ... ... ... ... SIMD
қағидаттары бойынша атқарылады, мұнда бір құрылға барлық warp ағынында
қолданады ( ... ... ... CUDA да бұл топ 32 ... ... ең кіші ... тұрады). Бұл әдісті SIMT деп
атады (single instruction multiple threads – көп ағын және ... ... ... ... ... ... тұрады. Мультижүйеде арнайы 16
килобайтты бөлінетін жад бар. Бұл кэш емес, программистер өзіне ... ... ... мысалы Cell жүйесінде Local Store да. ... жад бір блок ... ... ... ... Мұнда барлық
ағында бір мультижүйе бойынша атқарылады. Ал ... ... ... ... ... бейнежадқа айнала алады, бірақ мұнда кедергілерге
ұшырайды және өткізушілігі әлсіз болады. Осы ... алу ... және ... ... 8 ... кэш ... 8192-16384(G8x/G9x және GT2xx) регисторын сол жерде
қолданылатын барлық ағындарды қолданады. G8x/G9x үшін бір ... блок ... ... тең, warp саны 24 (бір мультижүйеде 768
ағын болады). Geoforce 8 және 9 ... бір ... 12888 ... ... Geoforce GTX 280 GT200 ... бір ... 1024 ... онда үш мультижүйеде 10 кластер бар, олар 30720 ... ... ... Бұл ... қол ... ... ... шеше алады.
CUDA дағы қосымшаларда орын ауыстырғанда бірінші қадам ... ... және ... ... табу болып отыр, ол аймақ жұмысты тежегіш
болып отыр. Егер осындай аймақта қосалқы есептеулерде тез ... ... ... ... келмесе, онда бұл функциялар CUDA кеңейтілулерінде Си
ге көшіріледі. Бағдарламалар NVIDIA компиляторлары бойынша компирленеді, ол
GPU және CPU үшін ... Осы ... ... ... ... ... кодтарын атқарады, ал GPUды қиын есептеулер көмегімен CUDA атқарады, ... деп ... ... ... ... ... операциялар
орындалады.
Бейнечип ядроны алып, одан әр элемент үшін көшірмесін алады. ... ағын деп ... ... Ағын бағдарлағышты, регисторды және
оның күйін құрайды. Үлкен мәліметтерді өңдегенде миллиондаған ... ... 32 ... ... олар warp деп аталады. Warp арнайы
мультижүйелерде қолданылады. Әр мультижүйе сегіз ядерден тұрады – ол ... олар бір ... MAD ... ... жұмыс атқарады. 32 ағынды
warp ті орындау үшін төрт тактілі мультижүйені ... ... ... ... ... ... болып отыр, ол 1,5ГГц ке және одан жоғары мәнге тең).
Мультижүйе ... жүйе ... ол бір ... 32 warp ті ... болып табылады. Әр такт warpтің жұмысын таңдап отырады, одан бір
біріне мәліметтерді ... ... ... Бұл сырттан қарасақ 32
бағдарламаны бір ... және бір ... ... ... ... ... CPU ядросы біруақытта бір бағдарламаларды орындайды және
басқа тактілергі оңай ауысады.
6. CUDA -да программалаудың моделі
CUDA егер әр SIMD әр ... ... сол ... атқаратын
болса, онда қосалқы модельді есептеулерді қолданады. GPU орталық процесссор
үшін есептегіш құрал, ол үлкен жадтылығымен және көп ... ... ... ... GPU үшін ... ... (3D ... функция ядро (kernel) болып табылады.
CPU ден бейнечип келесі жолдар бойынша ерекшелінеді: біруақытта
мыңдаған ағындарды өңдей ... ... үшін де. Әр ... ... ... ... ол көп ... үшін өте ыңғайлы. Логикалық
ағындар саны және ағын блоктары ... ... ... ... ... ... үшін өте ... жағдай.
1.7-Сурет . Ағындар мекені
Ағын блоктары кіші топ ретінде атқарылады, олар варп деп аталады,
олардың ... 32 ... ... Мәліметтердің мұндай аз көлемі
мультижүйелерде өңделуі мүмкін. Бұл әрдайым ыңғайлы бола бермейді, ... ... да ... ... мүмкіндік береді, олар 64 тен 512 ағынға
дейін болуы мүмкін.
Тордағы блоктардың топтап болуы оларды шектеуден қорғап, одан ... көп ... ... ... негіз бола алады.
1.3.2 Бұтақталу
Егер бір уақытта Warm ішіндегі барлық ағындар бір жұмысты атқаратын
болса, онда бұтақталумен қайтеміз деген ... ... Егер ... ... онда ... да әр түрлі болады. Бұл жерде қарапайым
SIMD бағдарламасына шешулер қабылданады.
1.8-Сурет . SIMD дағы бұтақталу мемкемесі
SISD ... біз А ... ... одан ... В және ... ... 10 ағын бар делік, олар SIMD түрінде атқарылады. Барлық 10
ағында біз А операторын анықтаймыз, одан кейін cond ... ... ... 9 ол ... ал бір ағында жалған.
Біз В операторын анықтау үшін 9 ағында қоса алмаймыз. Ал ... ... ... ... ... ... тек бір ... ғана жұмыс істелуі
қажет. Бұл жағдайда ... ... ... ... ... ... себебі ешкіммінің мәліметін өшірмеу үшін, қалған 9 ағынды
анықтаймыз. Одан ... В ... ... 9 ... өлтіреміз, одан кейін
С операторына келеміз. Осыдан кейін ... ... ... одан ... атқарылады.
Бұдан қайғылы қорытынды шығады, яғни екі бұтақта да ... ... ... осы сияқты жаман емес. К операторы CUDA ... ... ... және программистер үшін ол анық емес. Осы
кезде CPU да SSE командасымен болудағы ... ... ... етілуі керек, ол мәліметтер: мәліметтерді біріктіру, ... ... ... ... ... болуы қажет.
Осы айтылғандардан тек бір ғана қорытынды ... ... өзі ... ... ... Бір пула ... ағындарды тарату
бұтақтары ғана қауіпті. Осыдан кейін егер бір ... ағын ... ... басқа пулаларда немесе әр тұрлі блоктардың ішінде сер үшін мардымсыз
болады.
1.3.3 Ағындар арасындағы қарым – қатнастар
Осы мақалада ... ... ағын ... ... блок ... ... болған. Блок арасындағы әр ... ... ... болмайды.
Құжатталмаған жағдайларда, олармен жұмыстар жасалынбайды. Оның
себебі жүйенің дәл аппаратты ... ... ... ... ... ... синхроздалу synchtreaads
функциясымен анықталады. Мәліметтермен алмасу бөлінетін жад арқылы ... ол блок ... ... ... үшін ... CUDA ... ... дағы жад модельдері байтты мекен бойынша ажыратылады, gather
және scatter бойынша. Жүйе ... ... 1024 ... ... жетуі
мүмкін. Оларға рұқсат өте тез, онда 32 биттіге немесе өзгермелі нүктеге
байланысты сақтауға болады.
Әр ағын ... жад ... ... ... ала ... . CUD дағы жад ... жад - жадтың үлкен көлемі, ол ... ... ... оның ... 256 мегабайттан 1,5 гигабайтқа дейін
жетуі мүмкін ( ... 4 ... ... Үлкен өткізгіш қабілетке ие, ол
NVIDIA ның топтық шешімдері үшін 100 гигабайт/с жетеді, ... ... ... кешігеді. Ол кэштелмейді, load және store құрылғыларын
көтереді, және қарапайым жағдайда жадқа ... жад – бұл тек бір жүйе ғана ... ... жад түрі. Ол
салыстырмалы түрде ... ... өте ... жад – бұл ... ... ағындар үшін 16 килобайтты
блок жады. Бұл жад ... ... өте тез ... Ол ... қатынасты басқарады. Бөлінетін жадтың көбі: бірінші деңгейдегі
программистердің басқару кэшін қолдану, атқарылатын блоктардағы тежеулердің
төмендеуі.
Констант жады – 64 ... жад ... ол ... ... ... ... Ол әр жеке мультижүйе үшін 8 килобайтта
кэштеледі. Өте ... бұл ... ... ... болмағанда жүздеген
такттардың тежеулері болып табылады.
Текстуралы жад – бұл блок жады, ол барлық мультижүйеде оқуына рұқсат
ала алады. ... ... ... ... ... іске асырылады, сондықтан ... ... ... ... ... ... текстуралы және константты жадтар бұл физикалық
тұрғыда бейнекартаның локальді бейнежады ... ... ... бұл әр ... алгоритмдердегі кэштелулер және түрге рұқсат.
1.10-Сурет Құрылғы
Жоғарыда айтылғандардан біз өңдеудеулерге арнайы ... ... және ... ... ... және ... кедергіліктер өте
жоғары.
Типті, бірақ есептер шешудегі қажетті шаблондар:
• Мақсаттар тағы мақсаттарға бөлінеді;
... ... ... ... олар бөлінетін
жадтарға қосылады;
• Әр блок блок ағындарымен өңделеді;
... ... ... ... ... ... ... бөлінетін жадтан қайта жаһандық жадқа көшіріледі.
• Оңтайлы ұсыныстар
Сіздің есебінізде ... ... ... ... үшін ... есептер сәйкес келе бермейді. Егер
сіздің есебіңіз осыған жарамсыз болса, онда CPUді қолдабағаныңыз ... сіз ... ... ... онда SIMD түрінде эффективті атқарылуы керек,
ол үшін алгоритмдерді бөлу қажет.
Егер алгоритмді өзгерту керек болса, онда ... ... ... табу керек. Мысалғы CPU қолданатын аймағы элемент ... ... ... текстурага немесе константты жадқа
орналастырыңыз, егер барлық есептеулер сол ... бір ... ... ... ... ... text2D функциялары арқылы тиімді
жасалынады. Текстуралы жад екіөлшем үшін арнайы негізделген.
Жадты бөлу үшін жаһандық жадты қолданыңыз, егер ... ... ... ... ... жад ... ... Жаһандық жадтан мәліметтерді
көшіріп алыңыз, одан кейін ... ... ... ... ... Жад түрін таңдау, жергілікті жадтың орнына ... ... ... ... сол ... бір ... ... онда
өзіңіздің мәліметтеріңізді ... ... ... ... ... ... text2Dfetch немесе text2D функциялары
арқылы тиімді жасалынады. Текстуралы жад ... үшін ... ... барлық есептер бір бірінен шалғай жатқан жад бөлігіне ауысса,
онда жадты бөлу үшін ... ... ... Жаһандық жадтан
мәліметтерді көшіріп ... одан ... ... ... ... ... көшіріңіз. Егер Nvidia компиляторы белгілі себептермен бірге
мәліметтер локальді жадта орналасса, онда ... ... ... ... көріңіз, оны белгілеп арнайы жадтарға орналастырыңыз.
Компиляторды өзгермелі локальді жадқа орналастырады, егер ол ... ... бұл ... циклде есептелінсе. Егер цикл үлкен
ауданда болса, онда ... ... ... ... жадқа
орналастыруы мүмкін, олар анда санда ... ... Егер ... онда олар анық көрінеді.
Егер сіз өзгермелі жадты анда санда ғана қолдансаңыз онда оны
жаһандық ... ... ... ... ... ... ыңғайлы
болып көрінуі мүмкін, дегенмен ол бұлай емес. Өте тар жолды табу мұнда
қиындықтарға ... ... ... ... ... да мүмкін. Егер модификатор анық көрсетілсе, онда программист
оған ... ... ... ... көңіл қалдырулары көп ... ... алып ... Оның ... әр ... ... жоғарылату
болып тұр, оны қысқартып олардың жүйедегі қадамдарын ... ... ... ... ... ... a[N];
int summ;
for(int i=0; i

Пән: Астрономия
Жұмыс түрі: Дипломдық жұмыс
Көлемі: 78 бет
Бұл жұмыстың бағасы: 1 300 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Шаңкөмірлі отынды жағу кезіндегі жану камерасының температуралық сипаттамаларына ауырлық күшінің әсері67 бет
Астрономияның қазақстанда даму жолы48 бет
1. қ.р. және тағам өнімдерінің ғылыми мекемелері 2. тағам өнімдерін модельдеудің математикалық әдістерін қолдану5 бет
3d max, Объектілерді модельдеу20 бет
3D studio MAX көмегімен объектілерді модельдеу21 бет
OpenFOAM пакетің қолданып, көпфазалы ағындарды модельдеу22 бет
Азық- түлік өнімдерінде математикалық модельдеу әдісін қолдану7 бет
Аналитикалық модельдеу. Имитациялық модельдеу9 бет
Аналитикалық модельдеу. имитациялық модельдеу. кластерлық анализ7 бет
Аналитикалық модельдеу. имитациялық модельдеу. массалық қызмет көрсету жүйесін модельдеу8 бет


+ тегін презентациялар
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь