Meshworker and parallel processing

105 views
Skip to first unread message

Marek Čapek

unread,
Feb 11, 2013, 4:58:01 PM2/11/13
to dea...@googlegroups.com
Hello,
I would like to use MeshWorker interface with parallel assembly procedure.
Is there any posssibility to get the simple usage of MeshWorker together
with MPI or Threads?
Thank You
Marek Capek

Guido Kanschat

unread,
Feb 12, 2013, 5:42:37 AM2/12/13
to deal.II user group
MeshWorker::loop uses tbb in order to run in multithreading mode. We have only started thinking about MPI. Since the loop is based on iterator ranges, there should not be a fundamental problem. But, there may be details I have not seen yet.

Best,
Guido

Vinetou Incucuna

unread,
Feb 13, 2013, 4:43:02 PM2/13/13
to dea...@googlegroups.com
Hello Guido,
thank you for Your answer.
So I would have to call

     GridTools::partition_triangulation (  n_mpi_processes, triangulation);

thank create iterators, one for each partition.
So I would get array, or list, or vector of iterators index by 0- (n_mpi_processes-1)

With this iterators I would than call somethin like MeshWorker::loop(it[current_process].begin(),it[current_process].end())

Is there not a problem with the fact that in DGM cells on the boundaries of partitions require for computations information from cells in other partition?

Maybe I am wrong.

Thank You

Marek

2013/2/12 Guido Kanschat <dr.guido...@gmail.com>
MeshWorker::loop uses tbb in order to run in multithreading mode. We have only started thinking about MPI. Since the loop is based on iterator ranges, there should not be a fundamental problem. But, there may be details I have not seen yet.

Best,
Guido

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Wolfgang Bangerth

unread,
Feb 19, 2013, 11:02:05 AM2/19/13
to dea...@googlegroups.com
On 02/13/2013 03:43 PM, Vinetou Incucuna wrote:
> Hello Guido,
> thank you for Your answer.
> So I would have to call
>
> GridTools::partition_triangulation ( n_mpi_processes, triangulation);
>
> thank create iterators, one for each partition.
> So I would get array, or list, or vector of iterators index by 0-
> (n_mpi_processes-1)
>
> With this iterators I would than call somethin like
> MeshWorker::loop(it[current_process].begin(),it[current_process].end())

That's not the right approach. Take a look at how step-32 uses iterator
ranges when calling WorkStream.


> Is there not a problem with the fact that in DGM cells on the boundaries
> of partitions require for computations information from cells in other
> partition?

Yes. There was a thread on a similar topic on this mailing list a while
back. Take a look at the archives.

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/

Reply all
Reply to author
Forward
0 new messages