Skip to main content

Question: How to Launch an MPI Parallel Program Programmatically

I want to link a Java code with the parallel program I wrote five years ago in C. The program utilizes the Message Passing Interface (MPI) library from Argonne National Laboratory of the United States.

As far as I can imagine, there seems to be two alternative solutions for me so far.

The first one is to use Java Native Interface (JNI) technique to create a C header file the act as a stub linking a Java class to a native library -- in my case, I'm using Windows and Microsoft Visual C++ 2005 and the library will have to be a Dynamically Linked Library (DLL).

The second one, maybe, is to link the Java module and the C module by XML Web Services technology by using software tools such as Apache's Axis C++ or Microsoft's dot-Net technology plus SOAP messaging over the HTTP protocol. Microsoft .NET seems to be a whole new world for me and I don't think I have enough time and patience to learn it right now.

The solutions left are either to use JNI + C (a Java-wrapper solution) or C + Axis (a Web service-wrapper solution).

Now comes a common problem: my C code was written as an MPI parallel program and I want to retain the parallel processing functionality. MPI programs are supposed to be launched by a special launcher -- the "mpirun" script in the now outdated MPICH implementation or the "mpiexec" in the current MPICH2 implementation.

I don't want a solution that creates an operating system "shell" session from the Java or C code to execute mpirun/mpiexec and puts the name of the parallel program as the argument of the launcher. I am searching for a more elegant way to launch the parallel code programmatically.

Keywords: , , , ,

Comments

Popular posts from this blog

"Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine" Error on Windows 7 (64-bit) + Office 2010 (64-bit) + Visual Studio 2010

If you use (1) Windows 7 (64-bit), and (2) Office 2010 (64-bit), and  (3) Visual Studio 2010 to write an ASP.NET code to connect to Access or Excel database using the Microsoft.ACE.OLEDB.12.0 provider and consistently get the "Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine" error, try installing the 2007 Office System Driver: Data Connectivity Components , which is basically a Microsoft Access Database Engine 2007 Redistributable for Windows (32-bit) from http://www.microsoft.com/download/en/details.aspx?id=23734 Many forums suggested by Google Search suggest installing the Microsoft Access Database Engine 2010 Redistributable for Windows (32-bit, 64-bit) downloadable from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255 but it wouldn't help because Visual Studio 2010 is a 32-bit application; what you need is a 32-bit Data Connectivity component. The 2010 download will not allow you to install i...

Tips: Mac OS X: Full ANSI Color Support in Terminal.app

I'm trying to switch my Java development platform from Windows XP to Mac OS X Tiger. Wondering how to colorize the Terminal screen, I spent some time googling. From the discussions at the end of this page: macosxhints.com - Add full ANSI color support to Terminal.app Here's a summary of how to enable it: With bash shell as default, simply add export TERM=xterm-color [I prefer this for Linux compatibility] or export TERM=dtterm in the ~/.profile (single-user) or /etc/profile (system-wide) Color terminal is enabled. Use ' ls -G ' (the -G enables color output) to test. Add alias ls='ls -G' in the profile file for convenience. Keywords: mac-os-x , unix , terminal , shell , tips

iTunes: Error 261 while Burning Data CDs/DVDs

Apple Discussions: 261 error while burning MP3 CD. I usually put an aphostrophe (') in the name of playlists and was having error 261 burning CD/DVD data discs since iTunes 5.1. Upgrading to iTunes 6.0 for Windows doesn't help. I was burning a music DVD this morning and had Error 261 again. So I went to Apple iTunes Discussions site and look for a thread on this. Viola! There are many people having the same problem as mine. The thread ends at a point where someone removing ampersands, the '&' symbols, from their playlists and could avoid this error. I tried removing aphostrophes from the name of my playlist because aphostrophe falls into the kind of non-alphabet characters that needs escaping in some programming languages. It works!! Keywords: itunes , windows