Hi,<br><br>The error seems to be trapped by MPICH2&#39;s assertions. Is there some way to propagate them to debuggers (gdb, whatever)?<br><br>Yep, I think I&#39;ll try SuperLU_dist again then.<br><br>Thanks for your advices!<br>

<br>Max<br><br><div class="gmail_quote">On Mon, Dec 13, 2010 at 11:00 PM, Hong Zhang <span dir="ltr">&lt;<a href="mailto:hzhang@mcs.anl.gov">hzhang@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;">

Max,<br>
Does superlu_dist crash?<br>
Spooles has been out of support from its developers for more than 10 years.<br>
For small testing problems, it can be faster.<br>
<br>
Mumps is a good and robust direct solver we usually recommend, but it<br>
requires f90.<br>
<font color="#888888"><br>
Hong<br>
</font><div><div></div><div class="h5"><br>
On Mon, Dec 13, 2010 at 8:34 AM, Barry Smith &lt;<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>&gt; wrote:<br>
&gt;<br>
&gt;   The problem is not in PETSc.    Run in the debugger  and see exactly where this memcpy() overlap happens and if it can be fixed.<br>
&gt;<br>
&gt;  Barry<br>
&gt;<br>
&gt;<br>
&gt; On Dec 13, 2010, at 4:30 AM, Max Ng wrote:<br>
&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; I am having a similar problem and I&#39;m using PETSc 3.1-p6. I wish to use SPOOLES because I need to build on Windows with VC++ (and without a Fortran compiler). And in my tests somehow SPOOLES performs better than SuperLU.<br>


&gt;&gt;<br>
&gt;&gt; My program runs correctly in mpiexec -n 1. When I try mpiexec -n 2, I got this error:<br>
&gt;&gt;<br>
&gt;&gt; Assertion failed in file helper_fns.c at line 337: 0<br>
&gt;&gt; memcpy argument memory ranges overlap, dst_=0x972ef84 src_=0x972ef84 len_=4<br>
&gt;&gt;<br>
&gt;&gt; internal ABORT - process 1<br>
&gt;&gt; Assertion failed in file helper_fns.c at line 337: 0<br>
&gt;&gt; memcpy argument memory ranges overlap, dst_=0x90c4018 src_=0x90c4018 len_=4<br>
&gt;&gt;<br>
&gt;&gt; internal ABORT - process 0<br>
&gt;&gt; rank 1 in job 113  vm1_57881   caused collective abort of all ranks<br>
&gt;&gt;   exit status of rank 1: killed by signal 9<br>
&gt;&gt;<br>
&gt;&gt; Here is the source code:<br>
&gt;&gt;<br>
&gt;&gt;             // N = 40000, n = 20000, nnz = 9<br>
&gt;&gt;             //<br>
&gt;&gt;             MatCreate(comm, &amp;mat);<br>
&gt;&gt;             MatSetType(mat, MATAIJ);<br>
&gt;&gt;             MatSetSizes(mat, n, n, N, N);<br>
&gt;&gt;             MatSeqAIJSetPreallocation(mat, nnz, PETSC_NULL);<br>
&gt;&gt;             MatMPIAIJSetPreallocation(mat, nnz, PETSC_NULL, nnz, PETSC_NULL);<br>
&gt;&gt;<br>
&gt;&gt;             // some code to fill the matrix values<br>
&gt;&gt;             // ...<br>
&gt;&gt;<br>
&gt;&gt;             KSPCreate(comm, &amp;ksp);<br>
&gt;&gt;             KSPSetOperators(ksp, mat, mat, DIFFERENT_NONZERO_PATTERN);<br>
&gt;&gt;             KSPSetType(ksp, KSPPREONLY);<br>
&gt;&gt;<br>
&gt;&gt;             KSPGetPC(ksp, &amp;pc);<br>
&gt;&gt;             PCSetType(pc, PCLU);<br>
&gt;&gt;             PCFactorSetMatSolverPackage(pc, MAT_SOLVER_SPOOLES);<br>
&gt;&gt;<br>
&gt;&gt;             KSPSetUp(ksp);<br>
&gt;&gt;<br>
&gt;&gt; It crashes at the KSPSetUp() statement.<br>
&gt;&gt;<br>
&gt;&gt; Do you have any ideas? Thanks in advance!<br>
&gt;&gt;<br>
&gt;&gt; Max Ng<br>
&gt;&gt;<br>
&gt;&gt; On Dec 3, 2010, at 4:19 PM, Xiangdong Liang wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; &gt; Hi everyone,<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I am wondering how I can run the direct solver in parallel. I can run<br>
&gt;&gt;&gt; &gt; my program in a single processor with direct linear solver by<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; ./foo.out  -ksp_type preonly -pc_type lu -pc_factor_mat_solver_package spooles<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; However, when I try to run it with mpi:<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; mpirun.openmpi -np 2 ./foo.out -ksp_type preonly -pc_type lu<br>
&gt;&gt;&gt; &gt; -pc_factor_mat_solver_package spooles<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I got error like this:<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR: --------------------- Error Message<br>
&gt;&gt;&gt; &gt; ------------------------------------<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR: No support for this operation for this object type!<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR: Matrix type mpiaij  symbolic LU!<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR: Libraries linked from<br>
&gt;&gt;&gt; &gt; /home/hazelsct/petsc-2.3.3/lib/linux-gnu-c-opt<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR: Configure run at Mon Jun 30 14:37:52 2008<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR: Configure options --with-shared --with-dynamic<br>
&gt;&gt;&gt; &gt; --with-debugging=0 --useThreads 0 --with-mpi-dir=/usr/lib/openmpi<br>
&gt;&gt;&gt; &gt; --with-mpi-shared=1 --with-blas-lib=-lblas --with-lapack-lib=-llapack<br>
&gt;&gt;&gt; &gt; --with-umfpack=1 --with-umfpack-include=/usr/include/suitesparse<br>
&gt;&gt;&gt; &gt; --with-umfpack-lib=&quot;[/usr/lib/libumfpack.so,/usr/lib/libamd.so]&quot;<br>
&gt;&gt;&gt; &gt; --with-superlu=1 --with-superlu-include=/usr/include/superlu<br>
&gt;&gt;&gt; &gt; --with-superlu-lib=/usr/lib/libsuperlu.so --with-spooles=1<br>
&gt;&gt;&gt; &gt; --with-spooles-include=/usr/include/spooles<br>
&gt;&gt;&gt; &gt; --with-spooles-lib=/usr/lib/libspooles.so --with-hypre=1<br>
&gt;&gt;&gt; &gt; --with-hypre-dir=/usr --with-babel=1 --with-babel-dir=/usr<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR:<br>
&gt;&gt;&gt; &gt; ------------------------------------------------------------------------<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR: MatLUFactorSymbolic() line 2174 in src/mat/interface/matrix.c<br>
&gt;&gt;&gt; &gt; [0]PETSC ERROR: PCSetUp_LU() line 257 in src/ksp/pc/impls/factor/lu/lu.c<br>
&gt;&gt;&gt; &gt; -------------------------------------------------------<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Would you like to tell me where I am doing wrong? I appreciate your help.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Xiangdong<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>