Implement Parallel Computing (MPI/MPICH and OpenMP) for C#

Parallel computing memang topik yang menarik dan ini juga merupakan salah satu topik research interest gw. Kemarin saya mendapatkan email dari sa;ah satu mahasiswa di surabaya yang masuk melalui blog ini dan menanyakan apakah parallel computing yang melalui MPI/MPICH dan OpenMP bisa menggunakan .NET/C#. Well...secara default, memang C# atau .NET secara umum tidak bisa memakai MPI/MPICH dan OpenMP secara langsung. Ada dua alternatif kalau kita mau menerapkan parallel computing via MPI/MPICH dan OpenMP dengan C#/.NET yaitu

  • Membuat wrapper object dari MPI/MPICH melalui invoke (ini untuk kasus kalau kita ingin menggunakan library MPI/MPICH..sedangkan OpenMP itu bukan library tetapi open standard untuk parallel computing).
  • Memodifikasi compiler .NET (CLR Compiler) supaya support standard parallel computing syntax seperti untuk kasus OpenMP

Untuk kasus wrapper object dari MPI/MPICH untuk C#, anda bisa memanfaat penelitian yang dilakukan oleh mahasiswa Indiana University, MPI.NET [V]. Salah satu hasil paper research yang berjudul "Using MPI with C# and the Common Language Infrastructure" yang mencoba membuat wrapper object yang dibandingkan dengan CLI Binding dan P/Invoke..lengkapnya paper ini dapat didownload di sini [V], kesimpulan dapat dilihat pada gambar yang menunjukkan performance dari MPI.NET pada gambar dibawah inii 
 



Khusus untuk modifikasi compiler .NET (CLR Compiler), bisa memanfaatkan CLR Compiler ROTOR, kontak om Zeddy (Acedemic Evangelist) untuk minta source code dari CLR Compiler (FREE untuk akademisi). Next generation .NET Framework (>= 3) ini kemungkinan besar akan support MPI dan OpenMP....so tunggu aja.

Secara personal, saya sendiri merekomendasikan menggunakan C/C++ untuk parallel computing. Banyak keuntungan yang didapatkan penggunaan C/C++ ini baik menggunakan compiler Visual C++ maupun GNU C/C++.

Share this post: | | | |
Published Thursday, April 12, 2007 2:55 PM by Agus Kurniawan

Comments

# re: Implement Parallel Computing (MPI/MPICH and OpenMP) for C#

Tuesday, December 04, 2007 8:32 AM by Mochammad Taufik

Salam Kenal Mas Agus.

Mas Agus saya lagi nyoba grid computing, menggabungkan dua buah komputer paralel. Sekarang telah memasuki tahap ujicoba. Tapi saya kesulitan mendapatkan source code untuk komputasi paralel. Mas agus punya source code untuk implementasi MPI dari yang paling simple sampe yang rumit, klo boleh saya mo minta, atau saya mo minta referensinya.

Kalau Mas Agus berkenan mohon kirim ke email saya:

kipo_tekomp@yahoo.com

Terima kasih saya ucapkan sebelumnya.

Wassalam.

Leave a Comment

(required) 
(required) 
(optional)
(required) 

Enter the numbers above:
Powered by Community Server (Commercial Edition), by Telligent Systems