5 – Laboratoriya ishi.
Mavzu: Intel Threading Building Blocks kutubxonasini qo’llagan xolda sikllarni matrisali-vektorli ko’paytirish masalasi misolida paralellikdan chiqarish.
Ishdan maqsad: Intel Threading Building Blocks kutubxonasini qo’llagan xolda sikllarni matrisali-vektorli ko’paytirish masalasi misolida paralellikdan chiqarishni o’rganish.
Nazariy qism
Intel thread building Blocks bu Intel kompaniyasi topmonodan ishlab chiqilgan dasturiy kutibxona bo’lib, parallel dasturlashda har bir foydalanuvchi murakkab dasturlarni ishlab chiqishda sinxron ravishda alohida alohida mahsus kutubxonalarga muhtoj bo’ladi. Bu esa dasturlashda ko’plab oqimlar bilan ishlashda har bir oqim uchun yoki bo’lmasa har dastur qismi uchun kutubxonalar kerak bo’ladi. Intel thread building blocks kutubxonalari esa oqimlarni birlashtirishda, parallel ravishda ishlashda muhim ro’l egallaydi.
Kutubxona tuzilmasi:
Kutubxona sinf andozalari yig'ish va parallel dasturlash uchun mo’ljallangan kutubxonalarni tashkil etadi.
Kutubxona bajaradigan ishlari:
parallel algoritmlar,
mavzu-xavfsiz konteyner: vector, navbat, jadvallar;;
mutex;
atom operatsiyalari;
global TIMESTAMP;
taymerlar
Kompyuter grafikasi.
Tarixi va kelib chiqishi.
Version 1.0 o'zining birinchi ikki yadroli protsessor Pentium Intel tomonidan Avgust 29, 2006yil, Versiya 1.1 Intel C ++ Compiler 10,0 Professional Edition kutubxonaga qo'shilgan Iyun 5 10 aprel, 2007 yil chop etildi. Version 2.0 24 iyul, 2007 yil kutubxona manbai kodi ochildi va yaratilgan ochiq kodli GPLv2 litsenziya bilan loyihasi yaratildi. Kutubxona, shuningdek, manbai kodi holda bir tijorat litsenziya ostida, texnik qo'llab-quvvatlash uchun foydalanish mumkin. Versiya 2.1 22 iyul, 2008 yil chop etildi. Version 2.2 5 avgust, 2009 chop etildi. Buni vazifalari C ++ 0x qo'llab-quvvatlash ichiga oladi. Version 3.0 May 4, 2010 yaratildi. Yaxshilash ro'yxati http://software.intel.com/en-us/blogs/2010/05/04/tbb-30-new-today-version-of-intel-threading-building-blocks/. Version 4.0 8 sentyabr, 2011 yil chop etildi. Yangi xususiyatlar qo'shildi.
Qo'llab-quvvatlanadigan operatsion tizimlari:
Microsoft Windows (XP yoki keyinchalik)
Mac OS X (versiya 10.5.8 yoki undan yuqori)
Linux qo'llab-quvvatlaydi (Visual C + +, faqat)
Windows (versiya 8.0 yoki undan yuqori)
Intel C + + kompilyator (versiya 11,1 yoki undan yuqori)
GNU Compiler Collection (gcc, versiya 3.4 va yuqori)
Bundan tashqari, Intel thread Block hamjamiyatining ochiq versiyasi Sun Solaris, PowerPC, Xbox 360, QNX neytrinolar va FreeBSD uchun ham ishlab chiqarildi.
Dasturlashga misol:
// Подклюchаютсya необходимые загловоchные файлы
#include “tbb/blocked_range.h”
#include “tbb/parallel_for.h”
// Колиchество элементов вектора
Do'stlaringiz bilan baham: |