Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зертхана ПВ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
494.59 Кб
Скачать

Зертханалық жұмыс №4. Тізбектелген және параллельді алгоритмдерді сұрыптаудың жүзеге асырылуы

Мақсаты: Параллельді алгоритмдерді сұрыптауды орындауда қолдану.

1 тапсырма. MPI қолданатын және

Hello world from process i of n”

әр процесстің теретін программаны жазыңыз. i үшін PI_COMM_WORLD пен n өлшемінің (саны) PI_COMM_WORLD қолданыңыз. Барлық процессор осы компьютер үшін қорытынды шығара алады деп ойлай беруіңізге болады. Экранға көрінетін қорытынды тәртібін байқаңыз. MPI орындалуын тәуелді <http://www-unix.mcs.anl.gov/mpi/www/www1/MPI.html> символдары аралас болуы мүмкін.

2. n бүтін көпшілігінің ішінен минималды мәнді есептеп шығарыңда р.

3. Р жұмыс процесінің қолданылуымен сандардың суммасын есптеп шығарыңыз: әр процесс мәліметтерінің жекеше бөлігін қосу керек.

Көптік мөлшерлі (n), бөліктер бөліктер саны (q) және жұмыс процестері (Р) командалық жолдың аргументтері болу керек.

Негізгі әдебиеттер 6[71-78]

Қосымша әдебиеттер 12[229-237]

Бақылау сұрақтары

  1. MPI программасының жалпы құрылымын сипаттаңыз.

  2. MPI программадағы хаттардың түрлерін сипаттаңыз.

  3. MPI – процесспен мәліметтердің бөлінуін қалай ұйымдастыруға болады?

Зертханалық жұмыс №5. С алгоритмдік тіліндегі mpi қолданатын параллельді программаның өңделуі

Мақсаты: Параллельді есептеулер, параллельді компьютерлер, параллельді программалау, сұрыптаудың параллельді алгоритмдері түсініктерімен танысу.

Жұмыстың мазмұны және орындалу тәртібі:

Параллель компьютер дегеніміз – есепті сандық түрде шешіп, үйлесімді шешуге қабілетті процессорлардың жиынтығы. Параллельді программа – бұл әр процесс өзінің меншікті процессорныда жүріп қана қоймай, параллель орындалатын программа.

Параллельді компьютерлер мен параллельді есептеулер қолданылатын облыстарға тоқталсақ:

- күрделі жүйені сандық модельдеуде: ауа-райын болжау, гендік инженерия, интегралдық схеманы жобалау, жаңалықтар, кезекті космосқа ұшырылу туралы жедел хабар, т.б.

- бизнесте, коммерциялық салада: видеоконференциялар, параллель мәліметтер қоры, банктік транзакция, т.б.

- техникада: медицина саласында, автоматты түрде диагноз қою, жерсілкінуді болжау, айналадағы ортаның ластануын анализдеу, дәрі-дәрмек препараттарын жасау, т.б.

- білім беру саласында: кеңейтілген графика және виртуальды әлем, әсіресе, компьютерлік ойындар құрастыру.

1. Салыстыру-және-алмастыру әдісімен сұрыптау.

Көптеген программаларда сұрыптау кезінде ағымдағы санды басқа санмен орны бойынша алмастыру мақсатында уақытша сақтау үшін базалық айнымалылар пайдаланылады. Ал, параллельді есептеулерде ол сандарды сақтап қоюға процессорларды пайдаланады.

if (A>B) temp=A; A=B; B=temp;

2. Көпіршіктер әдісімен сұрыпау

(a1, a2, ...,an) сандарының тізбегі берілсін . Сандарды өсу ретімен орналастыру керек,

яғни i>j үшін ai<aj

Программа 1. «Көпіршіктер» әдісімен сұрыптаудың тізбекті алгоритмі.

1. procedure BUBBLE-SORT(n)

2. begin

3. for i:=n-1 downto 1 do

4. for j:=1 to i do

5. compare-exchange(aj,aj+1);

6. end BUBBLE-SORT

Бұл алгоритмде ішкі цикл итерациясы Q(n) уақытта орындалса және Q(n) итерация жасалса, «көпіршіктер» әдісімен сұрыптауға кететін уақыт - Q(n2). Бұл алгоритмді параллельділікке айналдыру үлкен қиындық келтіреді. Сондықтан бұл әдістің екінші бір түрі «тақ-жұп орын ауыстыру» алгоритмін қарастырайық.