<div dir="ltr"><div><div><div><div><div><div>Hi,<br><br></div>I need to multiply a matrix A with several vectors v_i's and use the resultant vectors in my calculation which involves access to non-local nodes. I can think of two possible ways to do it:<br><br></div>1. Store the vectors v_i's into an MPIDENSE matrix and perform MatMatMult with A to get a resultant dense matrix B. I can now use MatGetSubMatrices on B to access the non-local part required in my subsequent calculations.<br><br></div>2. Use MatMult to evaluate A*v_i for each of the vectors and provide ghost padding through VecCreateGhost for the resultant vector. <br><br></div>Which of the two is a more efficient way to perform the task? Also, if there is a better way possible to achieve the same, then kindly let me know.<br><br></div>Thanks,<br></div>Bikash   <br clear="all"><div><div><div><div><div><div><div><div><div><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div><div><div><font color="#666666">Bikash S. Kanungo<br></font></div><font color="#666666">PhD Student<br></font></div><font color="#666666">Computational Materials Physics Group<br></font></div><font color="#666666">Mechanical Engineering <br></font></div><font color="#666666">University of Michigan<br><br></font></div></div>
</div></div></div></div></div></div></div></div></div></div>