Jeff,<br><br>Thank you for your reply! Although the MPI standard does not require it, stdin/stdout and passing data through pipes are traditional conveniences in Unix. I&#39;d like MPICH2 improve on these besides performance. So, at present it seems I have to generate temporary files before using my data.<br>
<br>--<br>Yuheng<br><br><div class="gmail_quote">2012/2/28 Jeff Hammond <span dir="ltr">&lt;<a href="mailto:jhammond@alcf.anl.gov">jhammond@alcf.anl.gov</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The MPI standard does not even require stdin to be supported, so it is<br>
entirely reasonable for an implementation to support it only up to<br>
some reasonable finite value.  If you were to run &quot;cat /dev/random |<br>
mpiexec.gforker -n 2 ./test&quot; that program would never return either.<br>
<br>
Since you are intending to use C++, why don&#39;t you modify your code to<br>
read from an istream associated with a proper input file rather than<br>
std::cin?  The source changes should be essentially trivial.<br>
<br>
Jeff<br>
<div><div class="h5"><br>
On Tue, Feb 28, 2012 at 1:15 AM, Yuheng Xie &lt;<a href="mailto:thinelephant@gmail.com">thinelephant@gmail.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I started using MPICH2 recently and found a problem about reading large file<br>
&gt; (&gt;64KB) from stdin. My program hanged up on the line MPI_Init(&amp;argc,<br>
&gt; &amp;argv);. Could anyone help me? Thanks a lot.<br>
&gt;<br>
&gt; My program: test.cpp<br>
&gt; #include &lt;mpi.h&gt;<br>
&gt;<br>
&gt; int main(int argc, char **argv)<br>
&gt; {<br>
&gt;     MPI_Init(&amp;argc, &amp;argv);<br>
&gt;     MPI_Finalize();<br>
&gt;<br>
&gt;     return 0;<br>
&gt; }<br>
&gt;<br>
&gt; Compile and run:<br>
&gt; mpicxx test.cpp -o test<br>
&gt; cat test.txt | mpiexec.gforker -n 2 ./test   # This is OK<br>
&gt; cat test.txt | mpiexec.hydra -n 2 ./test   # When test.txt is larger than<br>
&gt; 65536 bytes, this won&#39;t return.<br>
&gt;<br>
&gt; The MPICH2 was installed with following commands:<br>
&gt; ./configure --prefix=/usr/local --enable-cxx<br>
&gt; --enable-fast=O3,nochkmsg,notiming,ndebug --with-pm=hydra:mpd:gforker<br>
&gt; --enable-smpcoll<br>
&gt; make<br>
&gt; sudo make install<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; mpich-discuss mailing list     <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
&gt; To manage subscription options or unsubscribe:<br>
&gt; <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
&gt;<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
--<br>
Jeff Hammond<br>
Argonne Leadership Computing Facility<br>
University of Chicago Computation Institute<br>
<a href="mailto:jhammond@alcf.anl.gov">jhammond@alcf.anl.gov</a> / (630) 252-5381<br>
<a href="http://www.linkedin.com/in/jeffhammond" target="_blank">http://www.linkedin.com/in/jeffhammond</a><br>
<a href="https://wiki.alcf.anl.gov/old/index.php/User:Jhammond" target="_blank">https://wiki.alcf.anl.gov/old/index.php/User:Jhammond</a><br>
<a href="https://wiki-old.alcf.anl.gov/index.php/User:Jhammond" target="_blank">https://wiki-old.alcf.anl.gov/index.php/User:Jhammond</a><br>
_______________________________________________<br>
mpich-discuss mailing list     <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
</font></span></blockquote></div><br>