Bolu Beyi tarafından yazıldı Aralık - 6 - 2013 0 Yorum

OpenMP’de 1-100 arasındaki asal sayıları bulan program: #include <stdio.h> #include <omp.h> #include <math.h>#define chunksize 5 #define iterasyon 100int main() { int chunk, i, sayac=0; chunk = chunksize; float bolum; #pragma omp parallel shared(chunk, sayac) private(i) { #pragma omp for schedule(dynamic, chunk) nowait for(i=2;i<iterasyon;i++) { bolum=(int)sqrt((float)i); bool bayrak=false;

Bolu Beyi tarafından yazıldı Nisan - 14 - 2013 0 Yorum

Monte Carlo, olasılığa dayalı bir yöntemdir. Resimde de gördüğünüz gibi kare içerisine gömülmüş bir daire düşünün. Bu kare alanın içinde belli bir sayıda nokta atılır ve bu noktaların ne kadarının daire içerisine düştüğü hesaplanır. Yani bir rastgelelik söz konusudur. Bu hesaplama için de kare ve dairenin alan formülleri kullanılır.   Karenin alanı= 2r * 2r Dairenin alanı= pi * r * r Daire içerisine düşme olasılığı= Dairenin alanı/Karenin alanı = pi * r * r /  [ Read More ]

Bolu Beyi tarafından yazıldı Ocak - 25 - 2013 4 Yorum

OpenMP ile bilgisayarımızın işlemcilerinin tamamını kullanarak eş zamanlı olarak hesaplama yapabilmekteyiz. C ile OpenMP kullanmadan, 1’den bizim gireceğimiz N sayısına kadar olan sayıları toplamak istersek, bilgisayarımız tek bir işlemciyi kullanacaktır. Fakat bunu OpenMP ile gerçekleştirecek olursak, her bir işlemciye iş dağıtılır ve işlem, paralel olarak gerçekleştirilir. Örneğimize geçmeden önce, kısaca iki önemli fonksiyondan bahsedelim. “omp_get_thread_num()” fonksiyonu, iş yapacak olan threadin id değerini tutar. “omp_get_num_threads()” fonksiyonumuz ise, bilgisayarımızda bulunan thread sayısını tutar. #include <omp.h> #include<stdio.h> int  [ Read More ]