This indeed is caused by a bug in Visual c++ 2005 64bit compiler when using optimization. <br>The result is correct after installing the hotfix: <a href="http://support.microsoft.com/kb/976617/">http://support.microsoft.com/kb/976617/</a><br>
Thanks a lot!<br><br>Mengda<br><br><div class="gmail_quote">On Mon, Jan 17, 2011 at 12:27 PM, Barry Smith <span dir="ltr">&lt;<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
  Compiler bug. Immediately before the call to MatMult() in the code add the two lines<br>
<br>
ierr = VecView(u,0);<br>
ierr = MatView(A,0);<br>
<br>
how large are the two objects? Given the code it is inconceivable that suddenly the vector length becomes 57.<br>
<font color="#888888"><br>
   Barry<br>
</font><div><div></div><div class="h5"><br>
<br>
On Jan 17, 2011, at 2:43 AM, Mengda Wu wrote:<br>
<br>
&gt; Hi all,<br>
&gt;<br>
&gt;    I just compiled the debugged and optimized versions of petsc-3.1-p7.<br>
&gt; Both are successful. I am running on Windows Vista 64bit machine.<br>
&gt; The C/C++ compiler is cl.exe from visual studio 2005 (64 bit) and no FORTRAN<br>
&gt; compiler is used. BLAS/LAPACK<br>
&gt; support comes from Intel MKL-10.1.3.028 (under em64t\lib). No MPI is used.<br>
&gt;<br>
&gt;   The debugged petsc was configured with:<br>
&gt;   $ ./config/configure.py --with-cc=&#39;cl&#39; --with-fc=0  --with-cxx=&#39;cl&#39;<br>
&gt; --with-mpi=<br>
&gt; 0<br>
&gt; --with-blas-lapack-lib=[mkl_intel_lp64.lib,mkl_intel_thread.lib,mkl_core.lib<br>
&gt; ,libiomp5mt.lib] -CFLAGS=&#39;-MDd -W3 -Z7&#39; -CXXFLAGS=&#39;-MDd -W3 -Z7&#39;<br>
&gt;<br>
&gt;   The optimized petsc was configured with:<br>
&gt;   $ ./config/configure.py --with-cc=&#39;cl&#39; --with-fc=0  --with-cxx=&#39;cl&#39;<br>
&gt; --with-mpi=<br>
&gt; 0 --with-debugging=0<br>
&gt; --with-blas-lapack-lib=[mkl_intel_lp64.lib,mkl_intel_threa<br>
&gt; d.lib,mkl_core.lib,libiomp5mt.lib]  -CFLAGS=&#39;-MD -wd4996 -O2&#39; -CXXFLAGS=&#39;-MD<br>
&gt; -w<br>
&gt; d4996 -O2&#39;<br>
&gt;<br>
&gt;   When I run ksp/examples/tutorials/Ex2.c. The result with debugged petsc<br>
&gt; is<br>
&gt; =================================================================<br>
&gt;   Norm of error 0.000156044 iterations 6<br>
&gt; =================================================================<br>
&gt;<br>
&gt;   However, there are errors with the optimized petsc with the output as<br>
&gt; follows:<br>
&gt; =================================================================<br>
&gt; [0]PETSC ERROR: --------------------- Error Message<br>
&gt; ----------------------------<br>
&gt; --------<br>
&gt; [0]PETSC ERROR: Nonconforming object sizes!<br>
&gt; [0]PETSC ERROR: Mat mat,Vec y: global dim 56 57!<br>
&gt; [0]PETSC ERROR:<br>
&gt; ----------------------------------------------------------------<br>
&gt; --------<br>
&gt; [0]PETSC ERROR: Petsc Release Version 3.1.0, Patch 7, Mon Dec 20 14:26:37<br>
&gt; CST 20<br>
&gt; 10<br>
&gt; [0]PETSC ERROR: See docs/changes/index.html for recent updates.<br>
&gt; [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>
&gt; [0]PETSC ERROR: See docs/index.html for manual pages.<br>
&gt; [0]PETSC ERROR:<br>
&gt; ----------------------------------------------------------------<br>
&gt; --------<br>
&gt; [0]PETSC ERROR:<br>
&gt; D:\Develop\Test\PETSc\petsc-3.1-p7\src\ksp\ksp\examples\tutorial<br>
&gt; s\ex2.exe on a cygwin-c- named CVBRL-38 by mengda Mon Jan 17 00:35:15 2011<br>
&gt; [0]PETSC ERROR: Libraries linked from<br>
&gt; /cygdrive/d/Develop/Test/PETSc/petsc-3.1-p<br>
&gt; 7/cygwin-c-opt/lib<br>
&gt; [0]PETSC ERROR: Configure run at Sun Jan 16 23:34:25 2011<br>
&gt; [0]PETSC ERROR: Configure options --with-cc=cl --with-fc=0 --with-cxx=cl<br>
&gt; --with-<br>
&gt; mpi=0 --with-debugging=0<br>
&gt; --with-blas-lapack-lib=&quot;[mkl_intel_lp64.lib,mkl_intel_t<br>
&gt; hread.lib,mkl_core.lib,libiomp5mt.lib]&quot; -CFLAGS=&quot;-MD -wd4996 -O2&quot;<br>
&gt; -CXXFLAGS=&quot;-MD<br>
&gt; -wd4996 -O2&quot; --useThreads=0<br>
&gt; [0]PETSC ERROR:<br>
&gt; ----------------------------------------------------------------<br>
&gt; --------<br>
&gt; [0]PETSC ERROR: MatMult() line 1888 in<br>
&gt; src/mat/interface/D:\Develop\Test\PETSc\P<br>
&gt; ETSC-~1.1-P\src\mat\INTERF~1\matrix.c<br>
&gt; [0]PETSC ERROR: main() line 146 in<br>
&gt; src/ksp/ksp/examples/tutorials/D:\Develop\Tes<br>
&gt; t\PETSc\PETSC-~1.1-P\src\ksp\ksp\examples\TUTORI~1\ex2.c<br>
&gt;<br>
&gt; This application has requested the Runtime to terminate it in an unusual<br>
&gt; way.<br>
&gt; Please contact the application&#39;s support team for more information.<br>
&gt; =================================================================<br>
&gt;<br>
&gt;   I am wondering what problems may lead to the errors. Please let me know<br>
&gt; if you need more<br>
&gt; information.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Mengda<br>
&gt;<br>
&gt; Hi all,<br>
&gt;<br>
&gt;     I just compiled the debugged and optimized versions of petsc-3.1-p7. Both are successful. I am running on Windows Vista 64bit machine.<br>
&gt; The C/C++ compiler is cl.exe from visual studio 2005 (64 bit) and no FORTRAN compiler is used. BLAS/LAPACK<br>
&gt; support comes from Intel MKL-10.1.3.028 (under em64t\lib). No MPI is used.<br>
&gt;<br>
&gt;    The debugged petsc was configured with:<br>
&gt;    $ ./config/configure.py --with-cc=&#39;cl&#39; --with-fc=0  --with-cxx=&#39;cl&#39; --with-mpi=<br>
&gt; 0  --with-blas-lapack-lib=[mkl_intel_lp64.lib,mkl_intel_thread.lib,mkl_core.lib<br>
&gt; ,libiomp5mt.lib] -CFLAGS=&#39;-MDd -W3 -Z7&#39; -CXXFLAGS=&#39;-MDd -W3 -Z7&#39;<br>
&gt;<br>
&gt;    The optimized petsc was configured with:<br>
&gt;    $ ./config/configure.py --with-cc=&#39;cl&#39; --with-fc=0  --with-cxx=&#39;cl&#39; --with-mpi=<br>
&gt; 0 --with-debugging=0 --with-blas-lapack-lib=[mkl_intel_lp64.lib,mkl_intel_threa<br>
&gt; d.lib,mkl_core.lib,libiomp5mt.lib]  -CFLAGS=&#39;-MD -wd4996 -O2&#39; -CXXFLAGS=&#39;-MD -w<br>
&gt; d4996 -O2&#39;<br>
&gt;<br>
&gt;    When I run ksp/examples/tutorials/Ex2.c. The result with debugged petsc is<br>
&gt; =================================================================<br>
&gt;    Norm of error 0.000156044 iterations 6<br>
&gt; =================================================================<br>
&gt;<br>
&gt;    However, there are errors with the optimized petsc with the output as follows:<br>
&gt; =================================================================<br>
&gt; [0]PETSC ERROR: --------------------- Error Message ----------------------------<br>
&gt; --------<br>
&gt; [0]PETSC ERROR: Nonconforming object sizes!<br>
&gt; [0]PETSC ERROR: Mat mat,Vec y: global dim 56 57!<br>
&gt; [0]PETSC ERROR: ----------------------------------------------------------------<br>
&gt; --------<br>
&gt; [0]PETSC ERROR: Petsc Release Version 3.1.0, Patch 7, Mon Dec 20 14:26:37 CST 20<br>
&gt; 10<br>
&gt; [0]PETSC ERROR: See docs/changes/index.html for recent updates.<br>
&gt; [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>
&gt; [0]PETSC ERROR: See docs/index.html for manual pages.<br>
&gt; [0]PETSC ERROR: ----------------------------------------------------------------<br>
&gt; --------<br>
&gt; [0]PETSC ERROR: D:\Develop\Test\PETSc\petsc-3.1-p7\src\ksp\ksp\examples\tutorial<br>
&gt; s\ex2.exe on a cygwin-c- named CVBRL-38 by mengda Mon Jan 17 00:35:15 2011<br>
&gt; [0]PETSC ERROR: Libraries linked from /cygdrive/d/Develop/Test/PETSc/petsc-3.1-p<br>
&gt; 7/cygwin-c-opt/lib<br>
&gt; [0]PETSC ERROR: Configure run at Sun Jan 16 23:34:25 2011<br>
&gt; [0]PETSC ERROR: Configure options --with-cc=cl --with-fc=0 --with-cxx=cl --with-<br>
&gt; mpi=0 --with-debugging=0 --with-blas-lapack-lib=&quot;[mkl_intel_lp64.lib,mkl_intel_t<br>
&gt; hread.lib,mkl_core.lib,libiomp5mt.lib]&quot; -CFLAGS=&quot;-MD -wd4996 -O2&quot; -CXXFLAGS=&quot;-MD<br>
&gt;  -wd4996 -O2&quot; --useThreads=0<br>
&gt; [0]PETSC ERROR: ----------------------------------------------------------------<br>
&gt; --------<br>
&gt; [0]PETSC ERROR: MatMult() line 1888 in src/mat/interface/D:\Develop\Test\PETSc\P<br>
&gt; ETSC-~1.1-P\src\mat\INTERF~1\matrix.c<br>
&gt; [0]PETSC ERROR: main() line 146 in src/ksp/ksp/examples/tutorials/D:\Develop\Tes<br>
&gt; t\PETSc\PETSC-~1.1-P\src\ksp\ksp\examples\TUTORI~1\ex2.c<br>
&gt;<br>
&gt; This application has requested the Runtime to terminate it in an unusual way.<br>
&gt; Please contact the application&#39;s support team for more information.<br>
&gt; =================================================================<br>
&gt;<br>
&gt;    I am wondering what problems may lead to the errors. Please let me know if you need more<br>
&gt; information.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Mengda<br>
<br>
</div></div></blockquote></div><br>