OpenMP'de Omp_Num_Threads ile Thread Kisitlamasi

OpenMp icerisinde calisirken paralellestirdigimiz kod'un thread'lerimizden kac tanesiyle calismasini istiyorsak bunu ister kod'dan ister kullanacagimiz visual studio derleyicisinden yazacagimiz kod'la belirleyebiliyoruz. Dilerseniz bunu nasil aktif edecegimizi kucuk bir uygulamamizla gorelim.
Oncelikle Visual Studio'da yeni bir proje olusturalim ve .cpp icerisine thread sayilarimizi kontrol edebilecegimiz sekilde basit bir kod blogu yazalim.
ThreatKisitlama.Cpp Kaynak Kodu;
#include <omp.h>
#include <stdio.h>
#include <conio.h>
void main()
{
#pragma omp parallel
{
int ID = omp_get_thread_num();
printf("Merhaba, Bu calisan %d . Thread'dir. \n",ID);
}
getche();
}
Uygulamayi derlemeden once, solution explorer penceresinde projemizin uzerinde sag click yardimi ile properties ayarlarina giriyoruz. Burada Debugging icerisinde Environment alanina threat'lerimizin sayisini edit kismina yazarak belirliyoruz.
Oncelikle 4 thread'imden sadece 2'sini calistirmak istiyorum. Bu sebeple edit kismina
Omp_Num_Threads=2
yaziyorum.
Ardindan .cpp uzerinde sag click properties yardimi ile kodlarimizi paralel calisabilmesi icin c/c++ icerisindeki Language sekmesi altinda bulunan Open Mp Support kismini Yes olarak ayarliyoruz.
Projeyi Release modda derleyerek calistirdigimizda asagidaki gibi vermis oldugumuz sayida thread'ler calisacaktir.
Burada dikkat edilmesi gereken konu; yapmis oldugumuz bu islem ile projenizdeki butun paralel kodlar icin gecerli olacak bir yontemdir.
Ekran Goruntusu;
Keyifli Calismalar Dilerim...
Yorumlar