- •Мазмұны
- •Типтік оқу бағдарламасы
- •Пәннің жұмыс оқу бағдарламасы
- •Астана 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. Студенттердің өзіндік жұмыстарына арналған тапсырмалар
- •Білім алушылардың оқу бағасын бақылау және бағалау жетістігі бойынша материалдар:
- •Оқу сабақтарының бағдарламалық және мультимедиялық сүйемелдеуі (пән мазмұнымен байланыстылығы):
- •Аудиториялардың, кабинеттердің және зертханалардың мамандандыру тізбесі.
- •Глоссарий Пән бойынша глоссарий және пәннің ұғымдық аппаратымен жұмыс бойынша жалпы әдістемелік нұсқаулар.
Матрицаларды көбейту жолдары
Ядрода жұмысшылар мүмкіндіктерін пайдаланып әртүрлі өлшемді матрицаларды тізбектей және параллель көбейту
Сабақ мақсаты: студенттергематрицалардың параллельді көбейтіндісінің артықшылығы және матрица көбейтіндісінің алгоритмі туралы түсіндіру.
Негізгі түсініктер:Матрицалардың параллельді көбейтіндісінің артықшылығы, матрица көбейтіндісінің алгоритмі, tic, toc.
Әдебиеттер: [4,5]
Матрицаларды көбейту жолдары
Мысалдарда n*n өлшем бірлігіндегі М шаршысын және n өлшем бірлігіндегі кездейсоқ R матрицасын қолданамыз.
Тапсырманы орындау үшін құралдар панелінен келесі пиктограмманы қолданамыз:
Көздеген тапсырмаларды орындау үшін келесі тармақтарды орындау керек (сурет 60):
Сурет 60 - Матрицаларды тізбекті көбейтудің Matlab-коды
Жазылған кодты сақтау керек, мысалы, matr1 атты m-файл есебінде сақтау.
Аталған кодты ашамыз. Бұл үшін Matlab командалық тармағынан файл атын жазып Enter – ді басу немесе Current Folder терезесінде U1 атты m-файл белгішесін таңдап, run белгісін немесе F5 пернесін басып тұрып жіберсек жеткілікті.
Дәл осы жолмен коды бар matr2 атты коды бар файл құрамыз.
matlabpool open mpc 4
clear;
n = 10;
tic;
parfor i = 1:n
M = magic(n);
R = rand(n);
A(i) = sum(M(i,:).*R(n+1-i,:));
end
toc
matlabpool close
Мұнда, tic – таймерді бастайды, ал toc – таймерді аяқтайды. Нәтижесінде код учаскесіне сәйкес орындалу уақытын анықтай аламыз.
12.2 Ядрода жұмысшылар мүмкіндіктерін пайдаланып әртүрлі өлшемді матрицаларды тізбектей және параллель көбейту
Аталған кодтарды жүзеге асыру нәтижесінде, яғни тізбекті және параллельді матрица көбейтіндісі нәтижесінде келесі мерзім түсініктері пайда болды (3 кесте):
3 кесте – 4 worker көлеміне сай тізбекті және параллельді матрицалар көбейтіндісін салыстыру үшін мәліметтер (кластер екі екіядролық компьютерден тұрады)
N |
Тізбектеп көбейту |
Параллельді көбейту |
10 |
0.002632 |
0.146898 |
300 |
3.617402 |
1.319166 |
1000 |
147.087110 |
48.551099 |
Matr2 атты m-файлды сегіз ядролық компьютерде ашқанда және n түрлі түсініктерінде басқа нәтижелер пайда болды:
>>matr2
Starting matlabpool using the 'local' configuration ... connected to 8 labs.
Elapsed time is 25.433397 seconds.
Sending a stop signal to all the labs ... stopped.
>>
Келесі кестеде workers 8-ге тең болған жағдайдағы тізбекті және параллельді матрицалардың көбейтіндісі нәтижесі келтірілген (4кесте).
4 кесте – workers 8-ге тең болған жағдайдағы тізбекті және параллельді матрицалардың көбейтіндісі мәліметтері.
N |
Тізбектеп көбейту |
Параллельді көбейту |
10 |
0.001408 |
0.282184 |
300 |
1.396600 |
0.787286 |
1000 |
60.864665 |
25.433397 |
Нәтижелер көрсеткендей, n өлшемі көп болған сайын, тізбекті көбейтіндіге қарағанда параллельді көбейтіндіге аз уақыт жұмсалады.
Бақылау сұрақтары:
1. Матрицалардың параллельді көбейтіндісінің артықшылығы
2. tic және toc нені білдіреді
Тұжырым: Бұл дәрісте матрицаларды көбейту жолдары қарастырылды.
Дәрістің тақырыбы 13: Дифференциалды теңдеулерді шешу
Жоспар:
13.1 Негізгі түсініктер
Қарапайым екінші дәрежелі дифференциалды теңдеуді шешу
Сабақ мақсаты:қарапайым дифференциалды теңдіктер, конфигурация жайлы таныстыру
Негізгі түсініктер: қарапайым дифференциалды теңдіктер, конфигурация (пішім), odesystem.m.
Әдебиеттер: [8,9]
13.1 Негізгі түсініктер
m*X'' + b*X' + k*X = 0 дифференциалды теңдеуінің параллельді есептеу кластеріндегі шешімін көрейік. Бұл үшін 4 жұмыс процессорлары мен кластер worker-лерін қолданамыз.
Тапсырманы орындау үшін m-файлдар paramSweep.m және odesystem.m [17] пайдаланамыз.
Мысалы, odesystem.m файлының мәтіні сурет 61-де көрсетілген.
Сурет 61 - odesystem.m файлының мәтіні
Қарапайым екінші дәрежелі дифференциалды теңдеуді шешу
m*X'' + b*X' + k*X = 0 – берілген қарапайым екінші дәрежелі дифференциалды теңдеу.
Қарапайым екінші дәрежелі дифференциалды теңдеуді шешу қарапайым бірінші дәрежелі дифференциалды теңдеуді шешу жүйесіне сай келеді:
Жоғарыда көрсетілген жүйе odesystem.m файлында былай көрсетілген:
odesystem.m ParamSweep.m.-тегі негізгі файлында қолданылатынын айта кеткен жөн.
%% b және k параметрлері
% қарапайым екінші дәрежелі дифференциалды теңдеу шешімін табуда қолданылады. (ODE)
%
% $m\ddot{x} + b\dot{x} + kx = 0$
%
% ODE-ні 0 мен 25 секунд аралығындағы уақыт диапазонына шешеміз
% бастапқы шарттарымен
% $x(0) = 0$ және
% $\dot{x}(0) = 1$.
%біз $b$ и $k$ параметр мағыналарын өзгертеміз
% және $x$ - дің пиктік мағыналарын осы параметрлер ушін табамыз
% соңында нәтижелерді үстіртін қарап шығамыз
%
% Copyright 2009-2011 TheMathWorks, Inc.
%тапсырма инициализациясы
m =5; % масса
bVals = linspace(0.1, 5, 50); % демпфирлеу мағынасы
kVals = linspace(1.5, 5, 70); % қаттылық мағынасы
[kGrid, bGrid] = meshgrid(bVals, kVals);
peakVals = nan(size(kGrid));
% бірінші біз ретті цикл есебін жасап аламыз
disp('Computing in serial...');drawnow;
tic;
foridx = 1:numel(kGrid)
% Решим ODE
[T,Y] = ode45(@(t,y) odesystem(t, y, m, bGrid(idx), kGrid(idx)), ...
[0, 25], ...% 25 секунд ішінде орындау
[0, 1]) ; алғышарттардың бірі
% ең көп түсініктерді анықтау
peakVals(idx) = max(Y(:,1));
end
t1 = toc;
% келесі оператор монитор экранында текст %0.2f ( үтірден кейінгі 2 сан % секундпен) форматында жұмсалған уақытты анықтайды
fprintf('Elapsed time is %0.2f seconds.\n', t1);
% енді параллельді цикл есебін жасаймыз
% for-ды parfor-мен алмастырып, matlabpool пішіммен ашамыз
% mpc және worker саны 4-ке тең
disp('Computing in parallel...');drawnow;
matlabpool open mpc 4
tic;
parforidx = 1:numel(kGrid)
% ODE шешеміз
[T,Y] = ode45(@(t,y) odesystem(t, y, m, bGrid(idx), kGrid(idx)), ...
[0, 25], ...% 25 секунд ішінде орындау
[0, 1]) ;% алғышарттар
% пиктік мағыналарды анықтау
peakVals(idx) = max(Y(:,1));
end
t2 = toc;
fprintf('Elapsed time is %0.2f seconds.\n', t2);
% matlabpool жабылуы
matlabpool close
% визуализалдау
figure;
surf(bVals, kVals, peakVals);
xlabel('Damping (b)'); % демпфирлеу
ylabel('Stiffness (k)'); % қаттылық
zlabel('Peak Response'); % ең көп мағыналық
view(50, 30)
% жылдамдық жайлы
% Жоғары жылдамдыққа жеткендігімізді көреміз
fprintf('\n\nSpeed up (time serial / time parallel): %0.2f\n', t1/t2);
Ары қарай біз екі ядролық процессор деңгейіндегі дифференциалды теңдеу нәтижелері көрсетілген.
>>paramSweep
Computing in serial...
Elapsed time is 19.27 seconds.
Computing in parallel...
Starting matlabpool using the 'mpc' configuration ... connected to 2 labs.
Elapsed time is 9.12 seconds.
Sending a stop signal to all the labs ... stopped.
Speed up (time serial / time parallel): 2.11
>>JobsTasksExample
Computing serially...
RMSE between ODE15s and ODE23 : 0.0025
RMSE between ODE15s and ODE45 : 0.0023
RMSE between ODE15s and Analytical: 0.0028
RMSE between ODE23 and ODE45 : 0.0025
RMSE between ODE23 and Analytical : 0.0028
RMSE between ODE45 and Analytical : 0.0016
Elapsed time is 43.80 seconds.
Computing using Jobs and Tasks...
RMSE between ODE15s and ODE23 : 0.0025
RMSE between ODE15s and ODE45 : 0.0023
RMSE between ODE15s and Analytical: 0.0028
RMSE between ODE23 and ODE45 : 0.0025
RMSE between ODE23 and Analytical : 0.0028
RMSE between ODE45 and Analytical : 0.0016
Elapsed time is 27.72 seconds.
Speed up (time serial / time parallel): 1.58(сурет 62).
>>
Сурет 62 – Бағдарлама визуализациясының нәтижесі
Дәрістің тақырыбы 14: Gpu (graphics processing unit)қосымша есептеу құралы ретінде
Жоспар:
