Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК Параллель багдарламалау.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
4.47 Mб
Скачать

Лабораториялық жұмыс №7

Тақырыбы. Параллельдеуге жататын есептерді программалау. pmode режимі.

Жұмыс мақсаты. PMODE режимінде жұмыс процестерін жіберіп, параллель есептеулерді жүргізу.

Тапсырма.

  1. pmode режимін қолданып, лекциялық материалдағы тапсырмаларды орындау.

  2. labindex және numlabs жұмыс нәтижелеріне көңіл бөлу.

  3. е санын есептеу.

Әдістемелік нұсқау. Теориялық материалды қарастырып, жұмысты орындау.

Лабораториялық жұмыс №8

Тақырыбы. Анықталған интегралды есептеу. Пи санын есептеу.

Жұмыс мақсаты. Итерацияларға бөлуді үйрену және е санын параллель есептеуді жүзеге асыру.

Тапсырма. №8 лекция материалдарын басшылыққа ала отырып е санын параллель есептеу алгоритмін құрып, итерацияларды анықтап, жүзеге асыру. pmode режимін қолдану керек.

Әдістемелік нұсқау. Өзіңіздің кластердің сипаттамасын ескере, е санын есептеңіз. π және е сандарын есептеудегі өзгешеліктерді анықтаңыз.

Лабораториялық жұмыс №9

Тема: Параллельдеуге жататын есептерді программалау. m-файл инструкциясын қолдану нұсқасы

Жұмыс мақсаты. m-файл инструкциясын пайдаланып, параллель есептеулер жүргізу.

Тапсырма. mpc орнына LOCAL 2 немесе 4 конфигурациясын қолданып, есептеулер жүргізу. Жұмысты орындау үшін №9 лекция материалдарын пайдаланыңыз.

Біздің есеп jm жобалаушы арқылы есептелінеді. Жұмыс үдерісінің минималды және максималды саны жоғарыда көрсетілген. Жобалаушыға pjob тапсырмасында сипатталған есептеуді бастау үшін қанша бос жұмыс процесінің керек екені тапсырманың өзінде (pjob объектінде) көрсетілуі керек.

Maximum Number Of Workers и Minimum Number Of Workers мүмкіндігінің мәні бүтін оң сан. Біздің жағдайда мәні 4-ке тең, яғни pjob тапсырмасында jm жобалаушыда 4 бос жұмыс үдерісі пайда болғанда, есептеу басталады.

Мүмкіндіктерге белгілі бір мән беретін командаларды командалық терезе арқылы, сондай-ақ m-файлда енгізуге болады [13].

Мысалы, мыналарды енгізе отырып

set(pjob,’MinimumNumberOfWorkers’,4)

set(pjob,’MaximumNumberOfWorkers’,4) (сурет 53)

m-файл мысалы

керекті қасиеттерді орната аламыз.

Қасиеттер мәнін тексеру үшін get командасын қолдануға болады:

get(pjob,’MinimumNumberOfWorkers’).

Әдістемелік нұсқау. Теориялық материалды басшылыққа алып, жұмысты орындау.

Лабораториялық жұмыс №10

Тақырыбы. «Параллельді тапсырма» объекті

Жұмыс мақсаты. «Параллельді тапсырма» объекті есептерін пайдалануды үйрену

Тапсырма. Жұмысты орындау үшін №10 лекция материалдарын қолдану керек .

1. pjob жағдайын анықтау

>>jm=findResource('scheduler','configuration','mpc');

pjob = createParallelJob(jm);

pjob.State

2. 'Minimum Number Of Workers' қасиеттерінің мәндерін анықтау

>>get(pjob,'MinimumNumberOfWorkers')

3.Екінші жұмыстағы 'Minimum Number Of Workers' қасиеттерінің орнына 2 қойса және өзара орындарын ауыстырса не бола еді?

Әдістемелік нұсқау. Теориялық материалды басшылыққа алып, жұмысты орындау.

Лабораториялық жұмыс №11

Тема: Тізбекті және параллель циклдер

Жұмыс мақсаты. Тізбекті және параллель циклдер айырмашылықтарын анықтау және параллель циклды қолдану.

Тапсырма. 11.1 бір-бірінен байланыссыз итерацияларға цикл мысалы

11.3.1 тізбекті цикл:

clearA

fori = 1:8

A(i) = i;

end

A

11.3.2 Параллель цикл

matlabpool open mpc 4

clear A

parfor i = 1:8

A(i) = i;

end

matlabpool close

11.4 параллельдеуге жатпайтын цикла. Фибоначчи қатары.

f = zeros(1,25);

f(1) = 1;

f(2) = 2;

parfor n = 3:25

f(n) = f(n1)+ f(n2);

end

келесі мсыалды тізбектей де орындау керек.

11.5 «Массивы».

мысал 5.5.1

matlabpoolopenlocal 8

clear;

n=10;

x=rand(n,1);

total=0.0;

big=-Inf;

fact=1;

for i=1:n

total=total+x(i);

big=max(big,x(i));

fact=fact*x(i);

end

matlabpool close

мысал 5.5.2

big=-inf;

x=[5 9 -8 7 6 2]

for i=1:5

big = max(big,x(i));

end

11.6 массивтегі минимальды элементті, элементтерінің суммасын, көбейтіндісін табу керек.

Әдістемелік нұсқау. Теориялық материалды басшылыққа алып, жұмысты орындау.