6- AMALIY MASHG’ULOT.
OpenMP kutubxonasidan foydalanish. Hello world,oqimlar sonini belgilash , omp_set_num_threads();omp_get_wtime(),omp_get_thread_num(), omp_get_num_threads() funksiyalari
Using CodeBlocks for OpenMp.
OpenMp uchun CodeBlocks-dan foydalanish.
Использование CodeBlocks для OpenMp.
1. To create new project in CodeBlocks. CodeBlocks da yangi proyekt yaratish. Cоздать новый проект в CodeBlocks
File > New > Project > Console Application > Select C/C++ > Give Project title and folder path (Proyektga nom bering va joylashuvini belgilang. Дайте название проекта и путь к папке) > Next > Compiler : GNU GCC Compiler > Finish
2. Code for Main.c . Dastur kodi. Код для программы.
#include
#include
using namespace std;
int main()
{
//omp_set_num_threads(10);// oqimlar sonini belgilash - agar keyingi paralel sohalarda oqim //sonini kiritmasak u holda oqim sonini shu funksiyadan oladi yani 10 ta oqim ishga tushiriladi
double start_time, end_time, total_time;
start_time = omp_get_wtime(); // vaqtni o'lchash funksiyasi
#pragma omp parallel //num_threads(3) // agar son quyilmasa (num_threads(3)
////olib tashlansa) oqimlar soni logik protsessorlar soniga teng bo'ladi
{
cout << "Hello World" <<" oqim raqami = " <}
end_time=omp_get_wtime();
total_time=end_time-start_time;
cout<cout << "salom"<
return 0;
}
3. Add compiler flags "-fopenmp" and "-lgomp". "-fopenmp" va "-lgomp" kompilyator bayroqlarini qo'shing. Добавьте флаги компилятора "-fopenmp" и "-lgomp".
Settings > Compiler > Compiler Settings > Other Options > type -fopenmp > ok
Settings > Compiler > Compiler Settings > Other Options > type -lgomp > ok
4. Link "libgomp-1.dll". "libgomp-1.dll" havolasi. Ссылка "libgomp-1.dll"
Settings > Compiler > Linker Settings > Add > Set the path to(Yo’lni ko’rsating,Укажите путь к) C:\Program Files (x86)\CodeBlocks\MinGW\bin\libgomp-1.dll > Ok > Ok
5. Run the program. Dasturni ishga tushiring. Запустите программу.
Vazifalar:
1)Har bir kishi OpenMP kutubxonasidan foydalanib o'z ismini logic protsessorlar soni nechta bo'lsa shuncha marotaba ekranga chiqarsin ( oqimlar sonini kiritmagan holda). Va logic protsessorlar soni va natija screenshot qilinsin.
2)Har bir kishi OpenMP kutubxonasidan foydalanib o'z ismini jurnalda nechanchi nomerda bo'lsa shuncha oqim orqali ekranga chiqarsin.
3) Ixtiyoriy bitta funksiya yarating va uni main funksiyasi ichida jurnalda nechanchi nomerda bo'lsangiz shuncha oqim orqali ishga tushiring.
4)1 dan n gacha bo’lgan sonlarni har birini nga ko’paytirib ekarnga chiqaring va bu dasturni nta oqim orqali ishni taqsimlab bajaring .(n jurnaldagi tartib raqamingiz)
5)Barcha vazifalar natijasi va qay tarzda bajarilganligini screenshot qilib tushuntirilib hisobot tayyorlansin.
*** jurnalda 1 chi nomerda turgan kishi jurnaldagi oxirgi raqamdan keyingi raqamni olsin.
Do'stlaringiz bilan baham: |