I ended up building the parallel matrix from the beginning, so no need to
copy it from a serial matrix. My apologies for the inconvenience.


On Tue, Sep 2, 2014 at 3:49 PM, Miguel Angel Salazar de Troya <
[email protected]> wrote:

> Could anyone help me with this one please? How could I copy the contents
> of a serial matrix into a parallel matrix? Would having a dof_map help me
> in this process? How could I build one?
>
> Miguel
>
>
> On Fri, Aug 29, 2014 at 9:32 AM, Miguel Angel Salazar de Troya <
> [email protected]> wrote:
>
>> I started parallelizing my code. I have part of the code that is serial
>> because I need to have access to the whole mesh. In this part of the code,
>> I build a PetscMatrix. Once I'm done building it (in serial), I would like
>> to scatter it through the other processors.
>>
>> Now, given that I built the PetscMatrix in serial (the local dimensions
>> are the same than the global dimensions) I assume I should build another
>> matrix with local dimensions in parallel. I need to set this size equal to
>> a solution vector in one of my systems (that's what I found here,
>> http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MatSetSizes.html)
>> If this system is called "densities", will I just set it equal
>> to densities.solution->local_size()?
>>
>> Once the local dimensions are set, I need to copy the contents. Because
>> the original matrix is run in serial in all the processors, I wouldn't need
>> to make any communication, right? I would copy the matrix value by value,
>> or there is a better way to do this?
>>
>> Thanks in advance
>> Miguel
>>
>>
>> On Thu, Aug 28, 2014 at 9:45 PM, Miguel Angel Salazar de Troya <
>> [email protected]> wrote:
>>
>>> Yeah, it says 4. I think I will try to parallelize my code with MPI to
>>> get better performance.
>>>
>>>
>>> On Thu, Aug 28, 2014 at 9:10 PM, Roy Stogner <[email protected]>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Thu, 28 Aug 2014, Miguel Angel Salazar de Troya wrote:
>>>>
>>>>  How can I give one MPI rank per shared-memory system in my own
>>>>> computer? I thought that running the program in serial with the
>>>>> option "--n_threads=4" would work, but it doesn't seem so.
>>>>>
>>>>
>>>> On a single computer, no clustering, that should have been sufficient.
>>>>
>>>> Do you have a mesh.print_info() in your app, and if so what does it
>>>> say n_threads is?
>>>>
>>>> If it says n_threads is 1, is it possible that you configured without
>>>> TBB installed?
>>>>
>>>>
>>>>  It might be that the rest of my code that is not "threaded" is too
>>>>> slow.
>>>>>
>>>>
>>>> Yes, or it might be possible that the unthreaded parts of our code are
>>>> too slow.  Getting the algebraic solver to run multithreaded is
>>>> tricky, and in a lot of codes the solve is the expensive part.
>>>> ---
>>>> Roy
>>>
>>>
>>>
>>>
>>> --
>>> *Miguel Angel Salazar de Troya*
>>>
>>> Graduate Research Assistant
>>> Department of Mechanical Science and Engineering
>>> University of Illinois at Urbana-Champaign
>>> (217) 550-2360
>>> [email protected]
>>>
>>>
>>
>>
>> --
>> *Miguel Angel Salazar de Troya*
>> Graduate Research Assistant
>> Department of Mechanical Science and Engineering
>> University of Illinois at Urbana-Champaign
>> (217) 550-2360
>> [email protected]
>>
>>
>
>
> --
> *Miguel Angel Salazar de Troya*
> Graduate Research Assistant
> Department of Mechanical Science and Engineering
> University of Illinois at Urbana-Champaign
> (217) 550-2360
> [email protected]
>
>


-- 
*Miguel Angel Salazar de Troya*
Graduate Research Assistant
Department of Mechanical Science and Engineering
University of Illinois at Urbana-Champaign
(217) 550-2360
[email protected]
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to