Dev-C++ ile MPICH2 Kullanımı

dev-cpp-logo

Çalışıyorum, çalışacağım derken (oldukça geç kalmış da olsam) paralel programlama konusunda ilk adımlarımı atmaktayım. Kullanmıış olduğum C kütüphanesi MPICH2‘nin kurulumu ve kullanımı çeşitli kaynaklarda anlatılmış. Her kaynakta hemen hemen aynı şeylerin anlatıldığı açıklamaları takip ederek ben de ilk önce Visual Studio 2013 ile bu kütüphaneyi kullandım ve örnek birkaç uygulama geliştirebildim. Ancak amaç konu mantığını anlamak ve olayı en basitte tutmak olduğundan, Visual Studio‘ya C++ özelliklerini eklemek yerine; modası geçmiş, terkedilmiş, bir çoğumuzun ilk programlama derslerinden hatırlayacağımız, vazgeçemediğimiz derleyicimiz Dev-C++ ile bu kütüphanenin nasıl kullanılabileceğini araştırdım. Sonuçlar aşağıdaki gibi:

Gereksinimler:

  1. Buradan indirebileceğiniz Microsoft .NET Framework yüklü olmalı.
  2. Buradan indirebileceğiniz Microsoft Visual C++ çalışma zamanı kütüphaneleri yüklü olmalı.
  3. Yönetici yetkilerine sahip bir kullanıcınız olmalı.

Kurulum:

  1. MPICH2 kütüphanesini indirin ve yükleyin. (32 bit sürümünü buradan, 64 bit sürümünü şuradan indirebilirsiniz, geçerli sürüm: 1.4.1p1)
  2. Yönetici yetkili kullanıcı hesabınızı wmpiregister ile tanımlayın. (Başlat > Tüm Programlar > MPICH2 > wmpiregister.exe ile)

mpiexec-register

Dev-C++ ile Derleme:

  1. Dev-C++ derleyicisini yükleyin.
  2. MPI Projesi şablonunu buradan indirip “C:\Dev-Cpp\Templates” klasörü altına çıkarın.
  3. New > Project yolunu izleyerek yeni bir MPI uygulaması oluşturun. new-mpi-project
  4. Şablon ile gelen kodları derleyin.

Paralel Uygulamamızı Çalıştırma:

  1. Başlat > Tüm Programlar > MPICH2 > wmpiexec.exe uygulamasını çalıştırın.
  2. Biraz önce derlemiş olduğunuz uygulamanızı seçin.
  3. Proses sayısını seçin ve Execute butonuna basın. mpiexec-wrapper

Notlar:

  1. Bu konuda derinlere dalmadan önce lütfen ders çalışın, ben yandım sizler yanmayın :)
  2. Yazdığınız kodları mutlaka wmpiexec ile çalıştırın, Windows konsolu uygulamanızı tek proseste çalıştıracaktır. 3.Yine Windows konsoluna aldanıp, çalışıyor mu göreyim düşüncesi ve alışkanlığıyla getch() gibi bir fonksiyon kesinlikle kullanmayın, sonsuza kadar beklersiniz :)

Hepinize kolay gelsin.

Written on January 14, 2014