<div class="gmail_quote">On Sun, Jul 10, 2011 at 05:44, John Chludzinski <span dir="ltr">&lt;<a href="mailto:jchludzinski@gmail.com">jchludzinski@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>2) Since threads can share data (variables), wouldn&#39;t there be less of a need to send/receive data than using MPI, which simply spawns separate disjoint processes?</div></blockquote><div><br></div><div>Yes, threads allow more things to be shared, but there is still a problem of data locality and it is often faster to copy than to share.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><br></div><div>3) &quot; 
Vec and Mat class&quot;?  I hope you&#39;re sticking with C (v. C++)?  I&#39;ve used G++ version 4.3.4 and version 4.5.2 and got different answers with the exact same source.  I have used Visual C++ (2008) and got different answers than G++ 4.6.1 - again the same source.  C99 seems to give consistent results across compilers/platforms and is simpler to boot.</div>
</blockquote></div><br><div>We generally prefer C to C++, but the symptoms you describe are likely to be caused by writing code with undefined behavior. Unfortunately, there is no checker for undefined behavior, but compiling with -std=c++98 -Wall -Wextra -pedantic does show many things.</div>