<div dir="ltr">On Wed, Apr 3, 2013 at 11:55 AM, Michael Povolotskyi <span dir="ltr"><<a href="mailto:mpovolot@purdue.edu" target="_blank">mpovolot@purdue.edu</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear PETSc developers,<br>
I have a following question:<br>
<br>
I have a dense serial matrix of M x N size<br>
I have a N vectors of size M.<br>
I need to copy content of those vectors to the columns of the matrix.<br>
What is the fastest way of doing this?<br></blockquote><div><br></div><div style>MatGetLocalSize(A,&m,NULL);</div><div style>MatDenseGetArray(A,&a);</div><div style>for (i=0; i<nvecs; i++) {</div><div style>  const PetscScalar *x;</div>
<div style>  VecGetArrayRead(X[i],&x);</div><div style>  PetscMemcpy(a+i*m,x,m*sizeof(PetscScalar));</div><div style>  VecRestoreArrayRead(X[i],&x);</div><div style>}</div><div style>MatDenseRestoreArray(A,&a);</div>
<div style><br></div></div></div></div>