Nano'nun Günlüğü…

Ideallerimi gerceklestirmek icin arastiriyorum, Unutmamak icin yaziyorum!

  • Bulundugunuz Sayfa: 
  • Ana Sayfa
  • Paralel Programlama – Faktoriyel Hesaplama

Paralel Programlama – Faktoriyel Hesaplama

Gönderim Ekim 15th, 2014

parallel2-9 arasindaki sayilarin faktoriyelini ayri is parçaciklarina hesaplattirip sonuçlari master is parçaçigi tarafindan toplayan bir paralel program uygulamasini makale icerisinde paylasiyor olacagim.

Uygulamami OpenMP yardimiyla yaziyorum.

Bunun için visual studio ortaminda Win32 Console Application projesi olusturuyor ve içerisine cpp dosyasini ekliyorum. faktoriyel ismini verdigim cpp ‘nin properties ayarlarindan OpenMP’nin ayarlarini gerçeklestiriyorum.
Amacimiz var olan 4 thread’i de ayni anda çalisiyor olmasidir.

Çözüm için Private Clause kullaniyorum. Bunun sebebi, paralel yapi içerisindeki her bir thread’e özel degiskenleri belirlemis olmamizdandir.

#pragma omp parallel for private (i)

ifadesinde aslinda i’den kaç tane varsa o kadar kopyala ve herkes kendi degiskeni ile calissin anlamina gelmektedir. Bir nevi hepsine özel bir degisken belirlemis oluyoruz.

faktoriyel.cpp kodu

#include <iostream>
#include <conio.h>
#include<stdio.h>

#include<omp.h>
using namespace std;
#define num 9

int main(){

int faktoriyel=1, i=2;

#pragma omp parallel for private(i)
for(i=2; i<=num; i++)
{
faktoriyel=faktoriyel*i;
printf(“Thread no : %d i = %d icin faktoriyel = %d degeri\n”,
omp_get_thread_num(),i,faktoriyel);
}
printf(“Toplam faktoriyel degeri : %d”,faktoriyel);

getche();
return 0;
}

Ekran Görüntüsü

Her bir thread’in farkli faktoriyel islemlerini yaptigini iki farkli örnekte inceleyebilirsiniz;

parallelsample

 

 

 

 

 

 

Keyifli calismalar dilerim.

Etiketler: , ,
Bulundugu Konu Etiketleri C / C++, OpenMP, Paralel Programlama, Visual Studio, Yazilim |

Lutfen Yorumlarinizi Burdan Ulastiriniz!...

You must be Kullanici Adiniz : to post a comment.

Istatistik

  • 1 Uye
  • 334 Yazi
  • 16 Yorum Var