<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jun 25, 2015 at 12:32 PM, Stefano Zampini <span dir="ltr"><<a href="mailto:stefano.zampini@gmail.com" target="_blank">stefano.zampini@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">pushed a fix<div><a href="https://bitbucket.org/petsc/petsc/commits/ae287a2e7a141494f7c41f9dd537addb63b556e3" target="_blank">https://bitbucket.org/petsc/petsc/commits/ae287a2e7a141494f7c41f9dd537addb63b556e3</a></div><div><br></div><div>However, it appears that the functions below for CUSP, CUSPARSE and VIENNACL are mere copies of the interface.</div><div>What  about defining the type of the Vec in the interface and get rid of these?</div></div></blockquote><div><br></div><div>I think the point here is that the matrix should return Vecs of a compatible type, not a user specified one.</div><div><br></div><div>  Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div><div style="margin:0px;font-size:14px;font-family:Menlo">src/mat/impls/aij/mpi/mpicusp/<a href="http://mpiaijcusp.cu" target="_blank">mpiaijcusp.cu</a>:  A->ops->getvecs        = MatCreateVecs_MPIAIJCUSP;</div><div style="margin:0px;font-size:14px;font-family:Menlo">src/mat/impls/aij/mpi/mpicusparse/<a href="http://mpiaijcusparse.cu" target="_blank">mpiaijcusparse.cu</a>:  A->ops->getvecs        = MatCreateVecs_MPIAIJCUSPARSE;</div><div style="margin:0px;font-size:14px;font-family:Menlo">src/mat/impls/aij/mpi/mpiviennacl/mpiaijviennacl.cxx:  A->ops->getvecs        = MatCreateVecs_MPIAIJViennaCL;</div><div style="margin:0px;font-size:14px;font-family:Menlo">src/mat/impls/aij/seq/seqcusp/<a href="http://aijcusp.cu" target="_blank">aijcusp.cu</a>:  B->ops->getvecs        = MatCreateVecs_SeqAIJCUSP;</div><div style="margin:0px;font-size:14px;font-family:Menlo">src/mat/impls/aij/seq/seqcusparse/<a href="http://aijcusparse.cu" target="_blank">aijcusparse.cu</a>:  B->ops->getvecs          = MatCreateVecs_SeqAIJCUSPARSE;</div><div style="margin:0px;font-size:14px;font-family:Menlo">src/mat/impls/aij/seq/seqviennacl/aijviennacl.cxx:  B->ops->getvecs        = MatCreateVecs_SeqAIJViennaCL;</div></div><div><br></div><div>Stefano</div><div><br></div><div><br></div><div><div><div>On Jun 25, 2015, at 4:34 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>> wrote:</div><br><blockquote type="cite"><br>  I think you are right, go ahead and make a pull request or send a patch<br><br>  Barry<br><br><blockquote type="cite">On Jun 25, 2015, at 9:43 AM, Stefano Zampini <<a href="mailto:stefano.zampini@gmail.com" target="_blank">stefano.zampini@gmail.com</a>> wrote:<br><br>Why the current interface in MatCreateVecs requires that a matrix has been already either allocated or setup ?<br>Shouldn’t be enough to check if the layout has been already setup?<br><br>Stefano<br><br></blockquote><br></blockquote></div><br></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>