thanks for your quick reply. My situation is a bit different. What I am
solving is a generalized eigenvalue problem. I only recently switched from
scipy.eigs to slepc, because slepc support parallel eigenvalue problem. In
other word, I am adapting my old code to utilizing slepc/petsc parallel
support. To have a first test, I saved the matrix from eigenvalue problem
with old code. Then read in this matrix for slepc/petsc validation. That's
why I need to scatter it to processors. Do you have any idea how can I
On 6 April 2018 at 15:00, Matthew Knepley <knep...@gmail.com> wrote:
> On Fri, Apr 6, 2018 at 8:44 AM, Yongxiang Wu <yongxian...@gmail.com>
>> Hello, everyone,
>> I already have a scipy sparse square matrix L0 . Since my problem is
>> large, parallel run is preferred. My Question is, how can I scatter my L0
>> to each of the processors? In the following code, I can get the indices
>> of the localized part of the matrix. In the tutorial, the matrix element
>> are directly assign with value, but in my case, the matrix are so large,
>> assign each element in loop (commented code) is not efficient. So if any
>> function would do the mpi scatter work?
> Hi Yongxiang,
> It would be really anomalous for what you propose to results in any
> speedup at all. If the matrix is large,
> it will not fit on one process. Any speedup from using more processes will
> be eaten up by the time to
> communicate the matrix. I would focus on generating the matrix in parallel.
>> With regards and Thanks.
>> import sys, slepc4py
>> from petsc4py import PETSc
>> from slepc4py import SLEPc
>> opts = PETSc.Options()
>> A = PETSc.Mat().createAIJ(size=L0.shape,comm=PETSc.COMM_WORLD)
>> Istart, Iend = A.getOwnershipRange()# for I in range(Istart,Iend):#
>> for J in range(0,L0.shape):# A[I,J] = L0[I,J]
>> The flowing code, would make the assignment from the scipy sparse matrix
>> L0 to PETSc matrix A. But this would only work for one process.
>> A = PETSc.Mat().createAIJ(size=L0.shape,
>> csr=(L0.indptr, L0.indices,
>> L0.data), comm=PETSc.COMM_WORLD)
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
> https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>