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