- •Мазмұны
- •Типтік оқу бағдарламасы
- •Пәннің жұмыс оқу бағдарламасы
- •Астана 2015
- •1. Оқытушының тегі, аты-жөні, ғылыми дәрежесі мен ғылыми атағы; лауазымдық қызметі; байланыс ақпараты; оқытушының ғылыми мектебі мен ғылыми қызығушылығы:
- •4. Оқу пәнінің пререквизиттері мен постреквизиттері:
- •5. Оқу пәннің сипаттамасы:
- •6. Тақырыптық жоспар
- •7. Әр тақырыптың мазмұны
- •8.Негізгі және қосымша әдебиет тізімі
- •8.1. Негізгі әдебиет
- •Астана 2015
- •3. Оқу пәнінің постреквизиттер:
- •4. Оқу пәннің сипаттамасы:
- •5. Пәннің міндеттері:
- •Пәннің тематикалық жоспары:
- •7. Семинар сабақтарының жоспары, сөж және сөжм тапсырмалары
- •7.1. Семинар, зертханалық сабақтардың жоспары
- •7.2. Практика сабақтарының жоспары
- •7.3. Лабораториялық жұмыстар жоспары
- •8. Сөжм өткізу жоспары
- •9. Сөж тапсырмаларын тапсыру және тапсырманы тапсыру графигі
- •10. Бақылау түрлері
- •10.1. Оқу нәтижесін бақылау және бағалау.
- •10.2. Студенттердің білім деңгейін бағалау шкалалары мен белгілері, тексеру жұмыстар түрлері
- •10.3. Баға қою саясаты:
- •11. Пәннің оқу-әдістемелік методикалық қамтамасы Негізгі әдебиеттер
- •Емтихан сұрақтары тізімі:
- •Программалық және мультимедиялық қамтамасы
- •Арнайы ұсынылған кабинеттер және лабораториялық класстар
- •Пәннің оқу-әдістемелігі қамтылған картасы
- •Оқу пәнінің тақырыптары бойынша дәріс конспектісі және дәріс курсын оқу бойынша әдістемелік нұсқау
- •1.2 Үлестіруші жады бар компьютерлер
- •1.3 Simd (Single Instruction Multiple Data) басқару типі бойынша құрылған жүйе
- •1.4 Mimd (Multiple Instruction Multiple Data) басқару типі бойынша құрылған жүйе
- •1.5 Параллельдеуге жататын есептер туралы
- •2.1 Кластерлі жүйелер туралы түсінік
- •2.2 Компьютердің өнімділігін арттыру жайлы
- •2.1 Кластерлі жүйелер туралы түсінік
- •2.2 Компьютердің өнімділігін арттыру жайлы
- •3.1 Компьютерлерді жұмыстық топқа біріктіру
- •3.2 Жұмыстық топ компьютерінің ip-адресін анықтау. Бірлескен компьютерлердің өзара байланысы
- •3.1 Компьютерлерді жұмыстық топқа біріктіру
- •3.2 Жұмыстық топ компьютерінің ip-адресін анықтау. Бірлескен компьютерлердің өзара байланысы
- •4.1 Негізгі түсініктер
- •4.3 Matlab r2011b орнату
- •4.1 Негізгі түсініктер
- •5.2 Parfor операторы. Ерекшеліктері
- •5.2 Parfor операторы. Ерекшеліктері
- •Негізгі түсініктер
- •Аппараттық талаптар. Программалық жабдықтауға қойылған талаптар
- •6.1 Негізгі түсініктер
- •6.2Аппараттық талаптар. Программалық жабдықтауға қойылған талаптар
- •7.1. Негізгі түсініктер. Pmode режимі
- •7.2 Pmode режимін іске қосу форматы
- •7.1. Негізгі түсініктер. Pmode режимі
- •7.2 Pmode режимін іске қосу форматы
- •8.1 Анықталған интегралды параллель есептеу жолы
- •8.1 Анықталған интегралды параллель есептеу жолы
- •9.1 Негізгі түсініктер
- •9.1 Негізгі түсініктер
- •10.1 Негізгі түсініктер
- •10.2 «Параллель тапсырма» объектісі мысалдары. M-файлының негізгі командалары
- •10.1 Негізгі түсініктер
- •10.2 «Параллель тапсырма» объектісі мысалдары. M-файлының негізгі командалары
- •11.1 Өнімділікті арттыру жолы
- •11.2 Тізбекті және параллаль циклдарды жүзеге асыру жолдары
- •11.1 Өнімділікті арттыру жолы
- •11.2 Тізбекті және параллаль циклдарды жүзеге асыру жолдары
- •Матрицаларды көбейту жолдары
- •Ядрода жұмысшылар мүмкіндіктерін пайдаланып әртүрлі өлшемді матрицаларды тізбектей және параллель көбейту
- •Матрицаларды көбейту жолдары
- •12.2 Ядрода жұмысшылар мүмкіндіктерін пайдаланып әртүрлі өлшемді матрицаларды тізбектей және параллель көбейту
- •14.1 Cuda платформасын matlab–та қолдану
- •14.3 Мандельброт жиынтығы
- •14.3 Мандельброт жиынтығы
- •15.1 DatabaseToolbox. Негізгі мүмкіндіктер
- •15.2 Деректер базасын құру және онымен жұмыс
- •15.1 DatabaseToolbox. Негізгі мүмкіндіктер
- •15.2 Деректер базасын құру және онымен жұмыс
- •Практикалық сабақтарының жоспары
- •Практикалық сабақтарды орындау үшін әдістемелік нұсқаулар
- •Практикалық жұмыс №1
- •Практикалық жұмыс №2
- •Практикалық жұмыс №3
- •Практикалық жұмыс №4
- •Практикалық жұмыс №5
- •Практикалық жұмыс №6
- •Практикалық жұмыс №7
- •Практикалық жұмыс №8
- •Практикалық жұмыс №9
- •Практикалық жұмыс №10
- •Практикалық жұмыс №11
- •Практикалық жұмыс №12
- •Практикалық жұмыс №13
- •Практикалық жұмыс №14
- •Практикалық жұмыс №15
- •Лабораториялық сабақтарды орындау үшін әдістемелік нұсқаулар
- •Лабораториялық жұмыс №2
- •Лабораториялық жұмыс №3
- •Лабораториялық жұмыс №4
- •4.1 Matlab r2011b орнату
- •Лабораториялық жұмыс №5
- •Лабораториялық жұмыс №6
- •Лабораториялық жұмыс №7
- •Лабораториялық жұмыс №8
- •Лабораториялық жұмыс №9
- •Лабораториялық жұмыс №10
- •Лабораториялық жұмыс №11
- •Лабораториялық жұмыс №12
- •Лабораториялық жұмыс №13
- •Лабораториялық жұмыс №14
- •Лабораториялық жұмыс №15
- •Сөж жоспары
- •6. Студенттердің өзіндік жұмыстарына арналған тапсырмалар
- •Білім алушылардың оқу бағасын бақылау және бағалау жетістігі бойынша материалдар:
- •Оқу сабақтарының бағдарламалық және мультимедиялық сүйемелдеуі (пән мазмұнымен байланыстылығы):
- •Аудиториялардың, кабинеттердің және зертханалардың мамандандыру тізбесі.
- •Глоссарий Пән бойынша глоссарий және пәннің ұғымдық аппаратымен жұмыс бойынша жалпы әдістемелік нұсқаулар.
11.1 Өнімділікті арттыру жолы
11.2 Тізбекті және параллаль циклдарды жүзеге асыру жолдары
Сабақ мақсаты: тізбекті және параллаль циклдарды жүзеге асыру жолдарын қарастыру
Негізгі түсініктер:тізбекті және параллель циклдер, массив элементі, итерациялар.
Әдебиеттер: [6,10]
11.1 Өнімділікті арттыру жолы
Көптеген қосымшалар кодтың қайталамалы сегментіне ие. Осындай жағдайларда есепті шешу үшін for циклі жиі қолданылады. Кодты дербес компьютерде немесе кластерде параллельді түрде қолдану мүмкіндігі өнімділікті айтарлықтай жоғарылатуы мүмкін:
1) Параметрлердің орнын ауыстыру қабілетіне ие қосымшалар, яғни
- итерацияның үлкен мәні – итерацияның санына байланысты орын ауыстыру көп уақыт алуы мүмкін. Әрбір итерация өте жылдам орындалуы мүмкін, бірақ мұндай мыңдаған тіпті миллиондаған итерацияларды орындау көп уақытты талап етеді;
- ұзын итерациялар – орын ауыстыру итерацияның аса үлкен мәнін қажет етпеуі де мүмкін, алайда оның әрбірі көп уақыт алуы мүмкін.
Негізінде интерациялар арасындағы айырма кірме деректерге байланысты. Осы жағдайларда жекелеген итерацияларды орындау қабілеті өнімділікті арттыра алады. Осындай итерацияларды орындау мол және көлемді дерек қорын өңдеудің ең тиімді жолы болып келеді. Бір ғана шектеу бар, ол - итерациялардың бір-біріне байланысты бола алмайтыны.
2) Байланыссыз есептер қатарын орындайтын тәуелсіз сегменті бар программаларды теруді бір мезгілде жекелеген ресурстарда іске асыруға болады. Осындай түрлі есептерге for циклі жиі қолданылмайды, бірақ осындай жағдайларда параллельді for (parfor) циклын қолданған дұрыс.
Parallel Computing Toolbox осы тәріздес циклдердің орындалу өнімділігін арттыра түсіп, бірнеше жұмысшыларға циклдің бөлек итерацияларын бір уақытта орындауға мүмкіндік береді (сурет 59).
Мысалы, 100 итерациялық циклды кластерде 20 жұмысшы бір уақытта әрбір жұмысшы 5 итерация орындайтындай етіп жасауға болады. Әрине, жұмыс жылдамдығы желі трафигі үшін 20 есе өсе қоймайды, дегенмен жылдамдық ұлғаюын байқауға болады. Бір машинада жергілікті жұмыскерлерді салудың өзі көп ядролық компьютердегі өнімділіктің жақсаруын көрсетеді. Сонымен, цикл итерация санына байланысты көп уақыт, көлем алу-алмауына тәуелсіз, жұмыс жылдамдығын итерацияларды MATLAB жұмысшыларының арасында анықтау арқылы өсіруге болады.
Итерациялар MATLAB-тың барлық сеансында паралелльді жұмыс жасағандықтан, әрбір итерация қалған барлық итерациялардан тәуелсіз болуы тиіс [7, с.14].
Сурет 59 - Parallel Computing Toolbox-те бірнеше жұмысшыларда циклдің бөлек итерацияларының бір уақытта орындалу мүмкіндігі
А(100) – дің мағынасын анықтайтын жұмысшы, А(500) – ді анықтамайтын жұмысшы болмауы мүмкін. А(900) А(400) – ге қарағанда тезірек анықталады деген ешбір кепілдік жоқ. MATLAB жұмысшыларынан барлық мәлімдемелер қайтарылған соң және цикл аяқталғанда А массивінің барлық элементтерінің мағыналары MATLAB клиент сессиясында қол жетімді.
11.2 Тізбекті және параллаль циклдарды жүзеге асыру жолдары
Бірнеше мысалдарды қарастырамыз.
m-файл құру үшін құралдар панелінен келесі пиктограмманы таңдаймыз:
ж
әне
келесі төменде келтірілген амалдарды
орындаймыз:
Тізбекті және параллельді циклдардың мысалдарын қарастырайық.
Тізбекті цикл:
fori=1:1000
A(i) = sin(i*2*pi/1000);
end
plot(A)
Кодты сақтау, мысалы, m-файл ретінде U1 атап сақтау. Аталған кодты жібереміз. Бұл ушін Matlab командалық тармағынан файл атын жазып Enter-ді басу немесе Current Folder терезесінде U1 атты m-файл белгішесін таңдап, run белгісін немесе F5 пернесін басып тұрып жіберсек жеткілікті.
Дәл осы ретпен кодты U2 атты файлды құрамыз:
Параллель цикл
Matlabpool open mpc 4
parfori=1:1000
A(i) = sin(i*2*pi/1000);
end
plot(A)
matlabpool close
Бір-біріне тәуелсіз итерация циклдарының мысалы
Тізбекті цикл
clear A
fori = 1:8
A(i) = i;
end
A
Параллель цикл
matlabpool open mpc 4
clear A
parfori = 1:8
A(i) = i;
end
matlabpool close
Пареллельдеуге келмейтін цикл мысалы. Фибоначчи қатары.
f = zeros(1,25);
f(1) = 1;
f(2) = 2;
parfor n = 3:25
f(n) = f(n1)+ f(n2);
end
Бақылау сұрақтары:
Тізбекті циклдың жасалу жолы қандай?
Параллельді циклдың жасалу жолы қандай?
Параллельдеуге келмейтін циклға өзге мысалдар келтіріңіз.
Параллель циклды қолданғанда конфигурацияны анықтау қалай жүзеге асырылады?
Тұжырым: Тізбекті және параллель циклдарына арналған мысалдар қарастырылды.
Дәрістің тақырыбы 12: Матрицалардың тізбекті және параллельді көбейтіндісі
Жоспар:
