- •Қазақстан респудликасы білім және ғылым министрлігі қ.Жұбанов атындағы ақтөбе мемлекеттік университеті
- •050602 - «Информатика»
- •4 Курс студенттеріне арналған «Параллельдік есептеулер» пәнінен
- •V. Алғашқы тексеру мерзімі 2012 ж. Қайталап тексеру мерзімі 1 жыл
- •II. Кафедра отырысында талқыланды
- •Тексеру мерзімділігі 1 жыл
- •VI. Ауыстырылып енгізілді _________________________________________
- •Бақылау-өлшеу материалдары үлгілері
- •Келісу парағы оқу пәнінің жұмыс бағдарламасы
- •050602 «Информатика» мамандығы үшін «Параллельдік есептеулер» пәні бойынша құрастырған жұмыс бағдарламасына
- •«Параллельдік есептеулер» пәні бойынша
- •050602-Информатика мамандығының 4 – курс студенттеріне арналған силлабус
- •2 Семестр 2010-2011 оқу жылы
- •Өзіндік жұмыс тапсырмалары
- •1. Жұмыс түрлері:
- •2. Жұмыс түрлерін бағалау критериилері:
- •Информатика және ет пәнінің оқу-әдістемелік қамсыздандырылу картасы
- •Дәрістер жинағы
- •Орындаушылар
- •Жауапты орындаушы
- •II. Кафедраның оқу-әдістемелік секциясының отырысында талқыланды
- •Рецензент
- •IV. Физика-математика факультеті әдістемелік комиссиясында мақұлданған
- •V. Алғашқы тексеру мерзімі 20__ ж. Қайталап тексеру мерзімі 1 жыл
- •VI. Ауыстырылып енгізілді ______________________
- •2.Параллель компьютерлерге сұраныс және параллель программалаудың даму кезеңдері
- •Параллельділік.
- •Программалау модельдері.
- •Есептеуіш жүйелер процессорларының мәлімет алмасу желісінің топологиясы.
- •Воеводин Вл. Параллельные вычисления. Санкт-Петербург, 2002 -600с.
- •Грегори р. Эндрюс. Основы многопоточного, параллельного и распределенного программирования. Пер. С. Англ. –м.: Издательский дом «Вильямс», 2003. – 512с.
- •Акжалова а.Ж. Параллельные вычисления (учебное пособие). – Алматы, 2004
- •Тақырыбы: Параллельді алгоритмдер. Сұрыптаулар (ранг, көпіршіктер әдістері).
- •Программа 1. «Көпіршіктер» әдісімен сұрыптаудың тізбекті алгоритмі.
- •Программа 2. "тақ-жұп орын ауыстыру" тізбекті алгоритмі.
- •Программа 3. N-процессорлы сақинада орындалатын "тақ-жұр орын ауыстыру" тәсілінің параллельді алгоритмі.
- •Параллельді әдіске қысқаша сипаттама
- •2. Тізбектелген коды:
- •Воеводин Вл. Параллельные вычисления. Санкт-Петербург, 2002
- •Грегори р. Эндрюс. Основы многопоточного, параллельного и распределенного программирования. Пер. С. Англ. –м.: Издательский дом «Вильямс», 2003.
- •Воеводин Вл. Параллельные вычисления. Санкт-Петербург, 2002
- •Грегори р. Эндрюс. Основы многопоточного, параллельного и распределенного программирования. Пер. С. Англ. –м.: Издательский дом «Вильямс», 2003.
- •Орындаушылар
- •Жауапты орындаушы
- •II. Кафедраның оқу-әдістемелік секциясының отырысында талқыланды
- •Рецензент
- •IV. Физика-математика факультеті әдістемелік комиссиясында мақұлданған
- •V. Алғашқы тексеру мерзімі 20__ ж. Қайталап тексеру мерзімі 1 жыл
- •VI. Ауыстырылып енгізілді ______________________
- •Программа 1. «Көпіршіктер» әдісімен сұрыптаудың тізбекті алгоритмі.
- •Программа 2. "тақ-жұп орын ауыстыру" тізбекті алгоритмі.
- •Ағындарды қолданып, Linux- те программалар құру.
- •Хабарламаларды беруді программалау
- •Pvm жүйесін қондыру (1-әдіс).
- •«Параллельдік есептеулер» пәнін оқытуға әдістемелік ұсыныстар «Параллельдік есептеулер» пәнін терең меңгеру үшін
- •Дәрістер курсын тыңдау
- •Өзіндік жұмыстарға арналған тақырыптарды меңгеру
- •3. Лабораториялық жұмыстарды орындау
- •3.3. Ағындарды қолданып, Linux- те программалар құру.
- •3.4. Хабарламаларды беруді программалау (mpi).
- •Лабораториялық жұмыстарды тапсыруға дайындалу
- •4.2 Программалау тілдерінің синхронизациясын қолдана отырып, есептерді шешу: блоктар/блоктан алу; критикалық секция; семафорлар.
- •Аралық бақылауды тапсыруға дайындалу
- •6. Емтиханға дайындалу
- •Өзіндік жұмыс тапсырмалары
- •Студенттердің оқу жетістіктерін бақылау және бағалау материалдары
- •Бақылау сұрақтары
- •Мультимедиялық программалар
- •Оқу пәнінің оқу-әдістемелік кешені
2. Тізбектелген коды:
N- денелер гравитациясының барлық есептеулері келесі алгоритммен сипатталуы мүмкін
For (t=0; t<tmax; t++)
For (i=0; i<N; i++)
{
F= Force_routine(i);
V[i]=v[i]+F*dt;
}
For (i=0; i<nmax; i++)
{
X[i]=x[i];
V[i]=v[i];
}
Параллель коды
Алгоритмнің тізбектелген кодын параллельдеу үшін әрбір процессорге арналған денелер тобын қолдануы мүмкін. Алгоритм шамамен процессорлардың О(N2) әрекетін алады.
Есептеу уақыты келесі бақылауды қолданғандықтан аяаюы мүмкін: N-дене кластері кластер массасының ортасында орналасқан толық массалы жеке қашықтықтағыдай жуықталуы мүмкін.
Барнс және Нат алгоритмі
Берілген есептің кластерлерді пайдаланып қолданылуы куб денеден тұратын толық кеңістіктен басталады. Алдымен бұл куб сегіз ішкі кубтерге бөлінеді. Егер ішкі кубте ешқандай бөлшектер болмаса, онда бұл куб әрмен қарай қарастырылмайды. Егер кубта біреуден артық дене болса, ол әрбір куб ешқандай денеден тұрмайынша рекурсивті түрде бөліне береді. Бұл процесс октоағашты құрады, яғни ағаштың әрбір түйіннен сегіз қыры болады. Жапырақ ұяшықты береді, оның әрқайсысында бір денеден болады.
Екі өлшемді есеп үшін, әрбір рекурсивті бөлім төрт ішкі облыстан тұрады да, шаршыағаш құрады.
Жалпы ағаш салмақсыз болады. Барнс және Нат алгоритмінде, ағаш құрылып болғаннан кейін, толық масса және ішкі куб массасының центрі әрбір түйінде сақталады.
Бақылау сұрақтары
N – дене есебі неден тұрады?
N – дене есебінің тізбектелген кодын келтіріңіз
N – дене есебінің параллель алгоритмін келтіріңіз.
Әдебиеттер
Воеводин Вл. Параллельные вычисления. Санкт-Петербург, 2002
Грегори р. Эндрюс. Основы многопоточного, параллельного и распределенного программирования. Пер. С. Англ. –м.: Издательский дом «Вильямс», 2003.
15-дәріс.
Тақырыбы: Кескіндерді өңдеу. Төменгі, ортаңғы және жоғарғы деңгейлерде кескіндерді өңдеу түрлері. Фурье түрлендіруі және Фурье алгортимдері
Мақсаты: Кескіндерді параллель өңдеу, соның ішіне Фурье түрлендіруін қолданып, өңдеу әдісін үйрету
Кілттік сөздер: кескін, төменгі деңгей, Фурье түрлендіруі, Фурье алгоритмі, ортаңғы деңгей, жоғарғы деңгей, пиксель.
Жоспары:
Кескіндерді өңдеудің төменгң деңгейі
Кескіндерді өңдеудің Фурье түрлендіруі
Кескіндерді өңдеудің төменгі деңгейі кескінді дұрыстау үшін және адам мен компьютер оны тануы үшін сақталған кескінге тікелей әсер етеді. Кескіндерді бұлай өңдеу көптеген облыстарда, соның ішінде, медициналық диагностикада, ішкі істердегі бармақ ізін тануда, өндірістік өнімдердегі ақауларды табу үшін және киноиндустрияда қолданылады. Басында кескін камераға түсіріліп, цифрлық түрде сақталынады. Сақталға кескін екіөлшемді пиксельдер массивінен тұрады. Кескін монохромды деп алып, сұр түсті пиксельдерге хабарлама жібереді. Кескін түсі әрқайсысы үш қарапайым түстің реңі болып табылатын үш мәнді (қызыл, жасыл, көк) қолданады.
Біз сақталған кескін сол жақ жоғары бұрыштан басталтын қарапайым координаталар жүйесін қолданады деп болжаймыз. Кескін пиксельдері екі өлшемді массивте сақталады да, оның элементтерін p[i][j] деп белгілеп аламыз және әрбір пиксельдің интенсивтілігі берілген массивтен табылады.
Өңдеудің төменгі деңгейі әрбір пиксельдің мәнін кескінді қандай да бір тәсілмен модификациялау үшін қолданылады. Көп жағдайда мұндай амалдар параллель орындалады.
Кей кездері пиксельдер идентификацияланатын тік сызықтар немесе қисықтармен ассоцияцияланады. Идентификацияның ең тиімді тәсілі Hough түрлендіруін қолдану. Hough түрлендіруі пиксель координаталарын сызық теңдеуіне жақын тәуелділік теңдеуін анықтау үшін қолданылады.
Есептерге қойылатын талаптар.
Әректтің басында өңдеудің төменгі деңгейінде параллель өңдеуді қолданудың маңыздылығын айта кеткен жөн. Айталық, кескін 1024×1024 пиксельден тұрады делік, мүндай пиксельдер картасымен және пиксельге 8 битпен сақтау өте өажет.
Ең критикалық фактор – есептеу жылдамдығы. Айталық, әрқайсысы тек бір рет қана өңделеді делік. Онда тек қаңқасының өзіне ғана 210 операциялар қажет. Қазіргі кезде барлық компьютерлер мүндай әрекет жасай алмайды. Нақты уақыт режимінде қосымшалар үшін есептеу шамамен секундына 60-85 каркас болуы керек. Чиптерді сигналды өңдейтін арнайы аппараттық қамсыздандыру ойлап табылды. Бірақ мұндай жүйелер параллель компьютерлер сияқты икемді емес.
Теңдеуі
Берілген өңдеудің бір деңгейінде қандай да порогты пиксельдер мәні сақталады, ал оден төмен басқалары 0 мәнін қабылдайды. Мысалыға, х мәнді пиксель берілсін, онда пиксельге орындалатын амал:
If (x< threshold) x=0; else x=1;
Контрастпен жұмыс
Берілген жағдайда сұр түстің мәндері деңгейінің диапазоны кескіннің кейбір детальдары көрнсін деп кеңейеді.
Медицинада тіс пен сүйек тканінің көзге көрінбейтін детальдарын табу үшін рентген кескіндерін қолданады. Бұл жағдайда контраст кеңеймесін сұр түстің шкаласы бойынша жұмсақ тканнің өлшемін анықтау үшін қолданады.
Сұр түс деңгейін азайту.
Бұл жағдайда сұр түсті ұсынуда қолданылатын биттер саны сақтау көлемін азайту мақсатында азаяды. Мұндай әрекетті жүзеге асырудың ең қарапайым тәсілі аз биттер мәнін жуықтау.
Параллель орындалуы.
Айталық бір процессор бір пиксельге тіркелген делік. Тура параллель орындалу әрбір процессорден бір уақытта орындалып жатқан әрбір процессорден 9 қадам орындауды талап етер еді. Мұнда барлық хабарлау тек оқу болғандықтан мәліметтер ену қарама – қайшылығы болмайды. Нүкте мәндерін орталандырудың параллель нұсқасы төрт қадамнан тұрады:
Қадам1. Әрбір процессор өзінің сол жағындағы пиксельдер санын алып, мәндерді өзі сақатап жатқан пиксельдер санына қосады.
Қадам 2. Әрбір процессор өзінің оң жағындағы пиксельдер мәнін алады да, жиналып жатқан сомаға қосады.
Қадам 3. Әрбір процессор төменнен жиналған мәндер жиынын екінші қадамдағыдан алып тастап, осы мәнді өзінің жиналған мәндеріне қосады. Ол сонымен қатар, келесі қадам үшін жиналған соманың ағымдағы мәнін сақтап қалу керек.
Қадам 4. Әрбір процессор үстінен жиналған мәндер жиынын екінші қадамдағыдан алып тастап, осы мәнді өзінің жиналған мәндеріне қосады.
Және, ақырында, әрбір процессор жиналған мәндерін ортақ мәнді табу үшін 9-ға бөледі. Сонда әәрбір процессорда төрт қосу байланысы және бір бөлу болады.
2.Кескіндерді өңдеудің Фурье түрлендіруі.
Кескіндерді өңдеу есебінің кең көлемі әртүрлі облыстарда жасалынды. Дискретті Фурье түрлендіруінің бір қолданылуы тегістеуде де үшкір шеттерді табуда да қолданылатын фильтрлеу. Фильтрлеу төмендегі екі функцияны салыстырып есептеу көмегімен жүзеге асырылады:
H(j,k)=G(j,k)xF(j,k)
мұндағы F(j,k) – бұл f(j,k) Фурье функциясының түрлендірілуі, ал G(j,k) – (g(j,k ) Фурье функциясының түрлендірілуі. (j,k – х пикселінің координаталары).
Фурьенің дискретті түрлендірілу функциясы:
Хк=1/N∑хje-2π(jk/n)
мұндағы хi N пиксельдер мәні, i- комплестік сан.
және Фурьенің кері түрлендіруі
хк=1/N∑Хje-2π(jk/n).
Практикада көбіне формуланы 1/N көпмүшесіз қолданады.
Сондықтан, әрі қарай біз бұл көпмшені түсіріп тастаймыз.
w=e-2πi/N
деп белгілейік.
Сонда формула мына түрде болады:
Хк=∑хjwjk)
болады.
Берілген формуланы жүзеге асырудың тізбектелген коды келесі түрде болады:
For (k=0; k<N; k++)
{ X[k]=0
For (j+0; j<N; j++)
X[k]=X[k]+a*X[j];
a=a*pow(w,k);
}
Бақылау сұрақтары
Фурье әдісі не үшін қолданылады?
Фурьенің дискреттң түрлендіру әдісі қандай?
Параллель орындалу неше қадамнан тұрады? Атаңыз.
Әдебиеттер
