<div dir="ltr"><div><br></div><div>Hello,</div><div><br></div><div>I have created a pull request (#464) for the interface to STRUMPACK-sparse:</div><div><br></div><a href="https://bitbucket.org/petsc/petsc/pull-requests/464/add-interface-to-strumpack-sparse/diff">https://bitbucket.org/petsc/petsc/pull-requests/464/add-interface-to-strumpack-sparse/diff</a><br><div><br></div><div>I look forward to your feedback.</div><div><br></div><div><div>This pull request adds 2 interfaces to STRUMPACK-sparse: one for aij/seq and one for aij/mpi matrices. It also adds a script to the buildsystem to download/compile/install STRUMPACK-sparse. This should work for real/complex, single/double, 32/64bit with OpenMP+MPI.</div><div><br></div><div>I can get everything compiled with ./configure --download-strumpack --with-cxx-dialect=C++11 \ --with-openmp --download-scalapack --download-parmetis --download-metis --download-ptscotch (There was an issue compiling STRUMPACK-sparse as a shared library, so it is now always static)</div><div><br></div><div>I tested the new code with the src/snes/examples/tutorials/ex5.c example: </div><div>OMP_NUM_THREADS=2 mpirun -n 2 ./ex5 \</div><div> -da_grid_x 100 \</div><div> -da_grid_y 100 \</div><div> -pc_type lu -pc_factor_mat_solver_package strumpack_mpi \</div><div> -ksp_monitor -mat_strumpack_mpi_matinput DISTRIBUTED \</div><div> --sp_mc64job 0 --sp_reordering_method scotch --sp_verbose</div><div><br></div><div>The aij/mpi solver is called 'strumpack_mpi', the aij/seq solver is 'strumpack'. All command line options are passed to the STRUMPACK solver, including -h, which prints out the STRUMPACK options.</div><div><br></div><div>STRUMPACK-sparse has 3 interfaces: </div><div><ul><li>A sequential/multi-threaded interface. This one is used with aij/seq matrices by selecting the 'strumpack' solver. </li><li>A distributed memory solver with replicated interface. This interface has the same input on every MPI proc (entire matrix and rhs and solution vectors). Select this for aij/mpi, with "-pc_type lu -pc_factor_mat_solver_package strumpack_mpi -mat_strumpack_mpi_matinput GLOBAL" </li><li>A fully distributed solver, works with the aij/mpi block-row distributed input matrix directly. Use with: "-pc_type lu -pc_factor_mat_solver_package strumpack_mpi -mat_strumpack_mpi_matinput DISTRIBUTED"<br></li></ul></div><div>Pieter Ghysels</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 4, 2016 at 12:06 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Ghysels should submit a pull request at <a href="http://bitbucket.com/petsc/petsc" rel="noreferrer" target="_blank">bitbucket.com/petsc/petsc</a> (sorry we do our development on bitbucket not github) and we'll take a look at it, make any suggestions and then merge it in.<br>
<br>
Thanks<br>
<br>
Barry<br>
<br>
We provide details on how to provide the pull request at <a href="https://bitbucket.org/petsc/petsc/wiki/pull-request-instructions-git" rel="noreferrer" target="_blank">https://bitbucket.org/petsc/petsc/wiki/pull-request-instructions-git</a><br>
<br>
Please follow the style guide at <a href="http://www.mcs.anl.gov/petsc/developers/developers.pdf" rel="noreferrer" target="_blank">http://www.mcs.anl.gov/petsc/developers/developers.pdf</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
> On May 4, 2016, at 1:55 PM, Xiaoye S. Li <<a href="mailto:xsli@lbl.gov">xsli@lbl.gov</a>> wrote:<br>
><br>
> Hello,<br>
> We have a new package STRUMPACK, using low-rank factorization techniques, either as a direct solver or preconditioner. Currently it only has HSS structure. In the future, we will implement other structured formats. Please see the web site (sparse version: STRUMPACK-sparse-1.0.0)<br>
><br>
> <a href="http://portal.nersc.gov/project/sparse/strumpack/" rel="noreferrer" target="_blank">http://portal.nersc.gov/project/sparse/strumpack/</a><br>
><br>
> We would like to incorporate STRUMPACK in PETSc. In particular, the CEMM SciDAC team (lead: Steve Jardin) is very interested in using it from PETSc. (We tested their matrices in standalone mode, it works very well.)<br>
><br>
> Ghysels already implemented all the necessary hooks. Can he just contribute his changes to PETSc's github, then you can merge into next release?<br>
><br>
> Thanks,<br>
> Sherry<br>
><br>
<br>
</div></div></blockquote></div><br></div>