Amaliyot ishi №3


Download 46.04 Kb.
bet1/2
Sana10.11.2023
Hajmi46.04 Kb.
#1762377
  1   2

Amaliyot ishi №3


Intel Cilk Plus parallellashtirish kutubxonasi bilan tanishish va uning yordamida parallel dasturlar tuzush.



    1. Ishni bajarishdan maqsad: Parallelashtirishning zamonaviy instrumental vositasi hisoblangan Intel Cilk Plus kutubxonasi imkoniyatlarini o'rganish va uning yordamida parallel dasturlar tuzush ko'nikmasini hosil qilish



    1. Nazariy qisim


Bunday texnologiyalar va dasturiy vositalar hisoblashlarnioqimlarga ajratish vazifasini bajaradi. Bugungi kunda bu texnologiyalar ichdan eng ko‘p qo‘llaniladigan texnologiyalaridan biri bu Intel Cilk Plus texnologiyasi hisoblanadi. Intel Cilk Plus – C va C++ dasturlash tilining kengaytmasi bo‘lib umumiy xotirali tizimlarda parallelashtirishni vazifalar(task) va ma’lumotlar(data) bo‘yicha effektiv va xavfsiz hamda vektorli parallelizmni ta’minlashni dasturchi uchun yengillashtiradi, dasturning parallelashtirilishi lozim bo‘lgan fragmenti qism vazifalarga ajralgan holda («ota»-«farzand») munosabatda bog‘lanish tartibini belgilaydi. Bunday parallelizmni tashkil etish, odatda «fork-join» deb ataladi.


Intel Cilk Plus Microsoft Visual Studio bilan birgalikda Intel (12 versiyasidan boshlab) va GCC(4.7 versiyasidan boshlab) kompilyatorlarni quvvatlaydi.
Intel Cilk Plus dasturning ketma-ket semantikasini saqlagan holda ham ketma-ket ham parallel rejimlarda bajariladi. Parallel bajarilish jarayoni, qachonki tizim platformasida yetarlicha yadrolar soniga qarab amalga oshirilaveradi.

17



1-rasm. Intel® Cilk™ Plus texnologiyasining sxematik ko‘rinishi.
Intel Cilk Plus texnologiyasi 2 qismdan iborat bo‘lgan parallelizmga yo‘naltirilgan bo‘lib, birinchi qismi vaziflar(task) bo‘yicha parallelizm ikkinchi qismi esa ma’lumotlar bo‘yicha parallelizmni imkoniyatini beruvchi va dasturiy kodni vektorlashtirishga yordam beradi. Uning sxematik ko‘rinishi quyidagicha keltirish mumkin. Intel Cilk Plusdan foydalanuvchi dasturchilar dastur qismini qanday parallelashtirish kerak degan savolga emas, balki dasturning qaysi qismini parallelashtirish lozimligini o‘ylashi kerak. Bu esa OpenMP dasturlashdan asosiy farqini ko‘rsatadi.
Hisoblash resurslarining muvozanati(balansirovka) bilan runtime – tizim shug‘ullanadi. Intel Cilk Plus strukturasi 3 ta kalit so‘zi:
cilk_spawn – vazifalarni yaratish; cilk_for- siklni parallellashtirish; cilk_sync – vazifalarni sinxronlashtirish;
Giperob’yektlar, kengaytirilgan indeksli notatsiya, elementli(vektorli) funksiyalar dan iborat.
Cilk_spawn kalit so‘zi parallel nuqtani hosil qilishni tashkil etib,har bir yaratilgan nuqtalarda yangi vazifalarni bir necha oqimlarda parallel olib boradi.





2-rasm. Intel Cilk Plus da parallel oqimlar

Cilk_for kalit so‘zi siklni parallellashtirish uchun mo‘ljallangan bo‘lib, dasturda sikl parametri sarlavhasida ishlatiladi:


Cilk_for (int k=0; k=N; ++k){ sikl tanasi}
Sikl oxirida to‘siqli moslashish ( barernaya sinxronizatsiya) dan foydalanib, dastur bajarilish jarayoni barcha iteratsiyalar tugallangunga qadar amalga oshiriladi.
Intel Cilk Plus kutubxonasini Intel Parallel Studio XE 2011 muhitaga sozlash.

3-rasm. Yangi project hosil qilish

4-rasm. Yaratilgan project ni xususiyatini o’zgartirish


  1. rasm. Komplyatsiya bo’ladigan platformani turini o’zgartirish

Keyin C:\Program Files (x86) \Intel\ComposerXE-2011\compiler\include\cilk kutubxonasini yo’lini ko’rsatamiz.




  1. rasm. Qo’shimcha kutubxonani yuklash

#include "stdafx.h" #include #include using namespace std;


int _tmain(int argc, _TCHAR* argv[])


{

cilc_for(int i=0;i<10;i++)


{
cout<}

return 0;


}


  1. rasm. Oddiy dastur




    1. Download 46.04 Kb.

      Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling