Pararel Programlama Nedir?
Pararel programlama bircok hesaplamalar iceren programi,buyuk hesaplamari birden fazla işlemciye ve bilgisayara bolerek işlemimizin sonucunu daha kısa surede ulaşmamızı sağlar. Genellikle yazılan yazılımlar seri hesaplamalar icin yazılır.Tek bir işlem merkezi (CPU) ve tek bir bilgisayarda calışmak uzere yazılır.Burda anlatacıgım şeyler prarel programlama uzerinedir.Bircok insanin hicbilmediği bir dunyadir Aydınlatmak icin Hazırladım bu dokumani..).
Neden pararel programlama kullanmalıyız avantajları nelerdir?
Zaman veya paradan Tasarruf. Eşzamanlı calışma sağlar Buyuk problemleri cozer Lokal olmayan kaynaklarin kullanimini saglar Ne kadar hızlandırdığını anlamak icin bir tablo; Pararel programlama genellikle c tabanlı dilleri kullanarak yapılır. Bu dokumanda MPI programı kullanarak C de nasıl prarel programlama yapabiliriz onu anlatacagim.. MPI kutuphanelerini anlatmak cok zaman alır lakin aşşada linkini vereceğim kaynaktan oğrenebilirsiniz ,bu konu programlamayı oğretmek amacıyla değil programlamayı bilen kişilerin pararel programlamayı oğrenmesi amacıyla acılmıştır. link:https://computing.llnl.gov/tutorials/mpi MPI programını nereden indireceğim? http://www.mcs.anl.gov/research/proj...hp?s=downloads İşletim sisteminize uygun olani indiriniz.sayfayi actığınızda karşınıza gelen ilk linkler linux tabanlıdır windows tabanlı olanları indirmeniz icin sayafada biraz aşşağıya inmeniz gerekmektedir. win x86 icin link:http://www.mcs.anl.gov/research/proj...1-win-ia32.msi win x64 icin link:http://www.mcs.anl.gov/research/proj...win-x86-64.msi farklı bir işletim sisteminiz varsa ilk verdiğim linkten , işletim sisteminze uygun olanı indirebilirsiniz... Nasıl yapacağız? Verdiğim MPIch2 programını indirip bilgisayara kurduktan sonra diğer bir bilgisayardada indirip kurmamız gerekmektedir.Setupları adminstrator(yonetici) olarak calıştırınız.Aynı işlemleri ne kadar pc kullanmak istiyorsanız o pc lerdede yapmak zorundasınız. MPI programının hazırlanması ? Başlat>tum programlar > MPICH2 - > wmpiregister.exe wmpiregister.exe e tıklıyoruz ekranda MPIEEXEC – register wrapper gozukecektir. Resimde gozuktuğu gibi password encrypted into the registry mesajini alırsanız.Kayıt işmeniniz tamamlanmıştır demektir root bilgisayardaki.Burda dikkat etmemiz gereken nokta Diğer pc dede aynı işlemi yapmamız gerekmektedir.Orneğin kullanıcı adını cybermafia şifreyide 123456 yaptik diyelim 2. pc mizdedeki kullanıcı adı ve şifremiz cybermafia:123456 olmalıdır.Başka bir onemli nokta;pararel programlama yapabilmemiz icin windowsta kullanıcı hesabı yaratmalıyız kullanıcı adı cybermafia şifreside 123456 olacak şekilde.Başlat>Denetim Masası>Kullanıcı Hesapları ve Aile koruması>kullanıcı Hesapları>hesapları yonet>yeni hesap oluştur. yonetici olarak oluşturmamız daha sağlıklı olacaktir.Kullanıcı adını cybermafia yapıp sonrada hesaba prola ekleyip ,parolayıda 123456 yaparsak mpich2 programının cybermafia accountunu kullanmasını sağlarız.Kısacasi MPIEEXEC – register wrapper da hangi parola ve şifreyi kullandıysak,o kullanıcı adı ve şifreyle windows accountu yaratmamız gerekmektedir.Ve bu işlemi kac tane bilgisayarda pararellemek istiyorsak okadar bilgisayarda yapmamız gerekiyor. Kayıt işlemi ve winde account acma iclemimiz bitti.Sırada programı kullanma var; Başlat >tum programlar>MPIch2>mpiexec.exe mpiexec.exe e tıklıyoruz karşımıza alt resimdeki ekranın cıkması lazım. mpich2 sagolsun bize ornek bir pararel programlama programı koymus onu calistirmamiz icin 3 noktaya (...) tıklayıp rresimde gozuktuğu gibi cpi.exe yi secmemiz lazım ,number of processi 1 yapiyoruz şuan işlemimizi tek bilgisayarda deniyoruz.Ve execute e tıklıyoruz. bu ekran gelirse yani command prompt a bu ekran gelirse , tek islemcide hicbir sorunumuz yok programımız calisiyor demektir,eger calisiyorsa gerisi daha kolay. 2 işlemcide nasıl yapıyoruz? resimdeki gibi dikkat etmemiz gereken sonuc pclerin adreslerini ve process sayımızı belirlemek bunları yaptıktan sonra execute tusuna basiyoruz şu ekranın cıkması lazım; eğer cıkarsa 2 pc de 2 farkli işlemcide programımızı calıştırdık demektir.. Burda kullandığım MPI_HELLO.EXE yi direk olarak vermeyeceğim.kaynak kodunu vereceğim..Kaynak koduyla nasıl proje yaratırız nasıl exe haline getiririz aşşada anlatacağım . Microsoft C++ 6.0 da proje yaratma 1) MS Developer Studio - Visual C++ ı acalım. 2)Create a new project yapalım bu şekilde; 3) project nami mizi girdikten sonra okleyip Finishleyip project wizardi kapatalım. 4)Project>settings e tıklayalım 5)Debug and realase i multithreaded libraries e cevirmemiz lazım onuda resimli olarak anlattım. aynı ekranda yapmamız gereken diğer ayarlar: ..... yerine bende C:Program FilesMPICH2include boyle sizin programınız hangi adresteyse onu girmeniz lazım ..... yerine bende C:Program FilesMPICH2 lib boyle sizin programınız hangi adresteyse onu girmeniz lazım 6)WS2_32.lib kutuphanesini all configurations a eklememiz lazım; C:Program FilesMicrosoft Visual StudioVC98Lib nin icindedir kendisi. 7)mpi.lib kutuphanesini all configurations a eklememiz lazım resimli olarak aşşada var 8)ok deyip project settings diolog boxumuzu kapatıyoruz. 9)kaynak kodumuzu projeye eklememiz lazım. 10)kaynak kodumuzu ekleyip build yapıyoruz. Ornek kaynak kodları Alıntı:
Gercek Mesajı Gonderen CyberMaFia

Alıntı:
Gercek Mesajı Gonderen CyberMaFia
/* This is an interactive version of cpi * #include "mpi.h" #include #include double f(double); double f(double a) int main(int argc,char *argv[]) startwtime = MPI_Wtime(); } MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD); if (n == 0) done = 1; else mypi = h * sum; MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); if (myid == 0) } } MPI_Finalize(); return 0; }

Alıntı:
Gercek Mesajı Gonderen CyberMaFia
#include #include #define ROOT 0 int main(int argc, char **argv)

p.s:2. kaynak kodu,pararel programlamada anlattiğim cpi.exe nin kaynak kodudur.
__________________