Intel Threading Building Blocks - Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot...

|
Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali “kompyuter injiniringi” fakulteti
|
bet | 4/5 | Sana | 25.05.2024 | Hajmi | 166,2 Kb. | | #253830 |
Intel Threading Building Blocks (shuningdek, TBB nomi bilan ham tanilgan) - parallel dasturlash uchun Intel tomonidan ishlab chiqilgan C++ shablonlar kutubxonasi [2] . Kutubxonada dasturchiga POSIX Threads , Windows threads yoki Boost Threads kabi anʼanaviy ish zarrachalarini qoʻllashda yuzaga keladigan koʻplab murakkabliklardan qochish imkonini beruvchi algoritmlar va maʼlumotlar tuzilmalari mavjud boʻlib , ular qoʻlda sinxronlashtiriladigan va toʻxtatiladigan alohida ijro tishlarini yaratadi. TBB kutubxonasi alohida mavzularga kirishni abstrakt qiladi. Barcha operatsiyalar protsessor yadrolari o'rtasida dinamik ravishda taqsimlangan "vazifalar" sifatida ko'rib chiqiladi. Bundan tashqari, keshdan samarali foydalanishga erishiladi . TBB yordamida yozilgan dastur algoritmga muvofiq vazifaga bog'liqlik grafiklarini yaratadi, sinxronlashtiradi va hal qiladi. Keyin vazifalar bog'liqliklarga ko'ra bajariladi. Bu yondashuv ma'lum bir mashina arxitekturasining tafsilotlaridan mavhumlashtirib, yuqori darajada parallel algoritmlarni dasturlash imkonini beradiIntel Threading Building Blocks (shuningdek, TBB nomi bilan ham tanilgan) - parallel dasturlash uchun Intel tomonidan ishlab chiqilgan C++ shablonlar kutubxonasi [2] . Kutubxonada dasturchiga POSIX Threads , Windows threads yoki Boost Threads kabi anʼanaviy ish zarrachalarini qoʻllashda yuzaga keladigan koʻplab murakkabliklardan qochish imkonini beruvchi algoritmlar va maʼlumotlar tuzilmalari mavjud boʻlib , ular qoʻlda sinxronlashtiriladigan va toʻxtatiladigan alohida ijro tishlarini yaratadi. TBB kutubxonasi alohida mavzularga kirishni abstrakt qiladi. Barcha operatsiyalar protsessor yadrolari o'rtasida dinamik ravishda taqsimlangan "vazifalar" sifatida ko'rib chiqiladi. Bundan tashqari, keshdan samarali foydalanishga erishiladi . TBB yordamida yozilgan dastur algoritmga muvofiq vazifaga bog'liqlik grafiklarini yaratadi, sinxronlashtiradi va hal qiladi. Keyin vazifalar bog'liqliklarga ko'ra bajariladi. Bu yondashuv ma'lum bir mashina arxitekturasining tafsilotlaridan mavhumlashtirib, yuqori darajada parallel algoritmlarni dasturlash imkonini beradi
Kutubxona parallel dasturlash uchun sinf shablonlari va funktsiyalari to'plamidir. Kutubxona quyidagilarni amalga oshiradi:
parallel algoritmlar: uchun, kamaytirish, bajarish, skanerlash, while, quvur liniyasi, saralash;
ip bilan xavfsiz konteynerlar: vektor, navbat, xesh jadvali;
kengaytiriladigan xotira ajratgichlari;
mutekslar ;
atom operatsiyalari ;
global vaqt tamg'asi;
vazifa menejeri;
hisoblash grafigi.
1.0-versiyasi Intel tomonidan 2006-yil 29-avgustda, birinchi ikki yadroli Pentium D protsessorining chiqarilishidan bir yil o‘tib chiqarildi .
1.1-versiya 2007-yil 10-aprelda chiqarildi. 5-iyunda kutubxona Intel C++ Compiler 10.0 Professional Edition-ga qo‘shildi.
2.0 versiyasi 2007 yil 24 iyulda chiqarildi. Kutubxona ochiq manba bo'lib, GPLv2 litsenziyasi ostida ochiq kodli loyiha yaratilgan. Kutubxona, shuningdek, manba kodisiz, lekin texnik yordamga kirish huquqiga ega tijorat litsenziyasi ostida mavjud. Ikkala kutubxonaning funksionalligi bir xil.
2.1 versiyasi 2008 yil 22 iyulda chiqarilgan.
2.2 versiyasi 2009 yil 5 avgustda chiqarilgan . U C++ 0x lambda funksiyalarini qo'llab-quvvatlashni o'z ichiga oladi .
3.0 versiyasi 2010 yil 4 mayda chiqarilgan. Yaxshilanishlar ro'yxati http://software.intel.com/en-us/blogs/2010/05/04/tbb-30-new-today-version-of-intel-threading-building-blocks/ .
4.0 versiyasi 2011 yil 8 sentyabrda chiqarilgan. Yangi funksiya qo'shildi, qarang: https://web.archive.org/web/20111213150434/http://threadingbuildingblocks.org/whatsnew.php
3.0 versiyasidan boshlab TBB oraliq yangilanishlari TBB X.0 yangilash N formatida chiqariladi, masalan, TBB 4.0 yangilanishi 2.
Bu dasturda massiv elementlari parallel ravishda Calculate funksiyasi yordamida qayta ishlanadi.
// Kerakli sarlavha fayllari kiritilgan
#include “tbb/blocked_range.h”
#include “tbb/parallel_for.h”
// Vektor elementlari soni
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali “kompyuter injiniringi” fakulteti
|