Skip to main content

MPICH2 on Windows XP: Launch Failed "error 2 - The system cannot find the file specified"

I had a problem executing a parallel program built with MPICH2 from Argonne National Laboratory. I had been able to use "mpiexec" to execute example codes and my test codes but the followings happened yesterday when I tried to run my "Practice.exe" parallel Hello World code:

The current directory is "t:\", which is a subst drive that maps to "c:\Briefcase\Tmp".
$mpiexec -np 4 "Practice.exe"
launch failed: CreateProcess(Practice.exe) on 'tvs-laptop' failed, error 2 - The system cannot find the file specified.

launch failed: CreateProcess(Practice.exe) on 'tvs-laptop' failed, error 2 - The system cannot find the file specified.

launch failed: CreateProcess(Practice.exe) on 'tvs-laptop' failed, error 2 - The system cannot find the file specified.

launch failed: CreateProcess(Practice.exe) on 'tvs-laptop' failed, error 2 - The system cannot find the file specified.

I spent many hours yesterday trying to find what went wrong but got no luck. This morning, by accident and perhaps serendipity, I tried to execute the code with an absolute (non-subst) path. It works!! Here is the output:
$mpiexec -np 4 c:\Briefcase\Tmp\Practice.exe
[2 of 4] Hello from tvs-laptop
[0 of 4] Hello from tvs-laptop
[3 of 4] Hello from tvs-laptop
[1 of 4] Hello from tvs-laptop

MPI executes parallel codes by making multiple Remote Procedure Calls (RPCs). My guess is that subst drives are created on a per-user session basis and is not accessible when an RPC call is made. That's why using mpiexec when the present working directory is a subst drive doesn't work.

Keywords: , , , ,

Comments

Anonymous said…
Thanks for the tip. I was getting the same error, and found that mpiexec was pointing to the wrong location. Without your tip, I would have spent many more hours staring at the screen.

Popular posts from this blog

A Thought on a Reasoner-enabled Version of Del.icio.us (and perhaps Technorati)

I have been adding more bookmarks to my del.icio.us account and have begun tagging them with RDF-like object/datatype properties. Adding more and more object/datatype properties to the bookmark, a provoking thought popped up: It would be nice if tagging can be assisted by ontologies and a logic reasoner. Look at del.icio.us/thitiv . The _hasAffilication:CUPhoto property should be a subproperty of _hasAffiliation:Chula (provided that CUPhoto stands for Chula Photo Club .) Also, aticles on 'tagging' are subclass of articles on 'metadata'. But articles on 'metadata' are not essentially the articles on 'tagging'. 'Friends' versus 'people' is also another example. Bookmarks about my friends are of course bookmarks about people. But not all the people I know or found on the Internet (through search engines) are my friends. Ontology-assisted tagging sounds promising to solve this problem. In principle, this problem is partly related to...

Tip: Converting a CSV File into XML by Excel

I came across a problem to convert a historical data in comma-separated format (CSV) into a modern & more useful XML format. There are many ways to do such conversion. The most obvious one is to do it programmatically by writing a program to read CSV data and exporting it to an XML file by means of the Simple API for XML (SAX) or the Document Object Model (DOM) libraries. But I was too lazy to do it. I knew that Microsoft Excel 2003 supports exporting worksheets into XML data. I tried it out but found that it is not that simple -- we have to define an XML schema and bind each element to each column of the worksheet. So I went on researching. Finally, I found a very useful tool on MSDN: Excel 2003 XML Tools Add-in Version 1.1 ( download ). The Excel Add-in's "XML Tools -> Convert a Range to an XML List" menu command allows us to simply select a range in a worksheet (with or without first row as column names) -- with the advanced options to specify the XML root ...

"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...