|
Boost Users : |
Subject: Re: [Boost-users] Hybrid parallelism, no more + mpi+serialization, many questions
From: Hicham Mouline (hicham_at_[hidden])
Date: 2010-11-19 11:01:45
>On Fri, Nov 19, 2010 at 7:14 AM, Hicham Mouline <hicham_at_[hidden]>; wrote:>>>Â Here's how I'd probably do this using a pull model:>>> Â <snip>>>> Brian>>>> Hi Brian,>>>> Thanks for the solution. I think I'll go first just with monothread mpi processes.>>>> Can I use MPI splitting the communicators following my tree's shape? Does MPI allow splitting world, and then splitting >>again, then again....?>>>> rds,>-----Original Message----->From: "Brian Budge" [brian.budge_at_[hidden]]>Date: 19/11/2010 03:36 PM>To: boost-users_at_[hidden]>Subject: Re: [Boost-users] Hybrid parallelism, no more + mpi+serialization,
many questions>>I'm not positive exactly what you mean. Can you explain in more detail? >>Maybe you're referring to spawning? You can spawn processes, but I'm>very inexperienced with that. It sounds, however, like you'll always>have at least millions of tasks. For ease of programming, I'd>recommend just using mpirun to launch as many processes as you can>afford, and pass tasks to them when they request work to do. Not>understanding your problem in enough detail, that's the best I can>recommend (for example, is it easy to just "jump" to a starting point>in your tree, or do you have to traverse from the start?)>>BrianI was referring to the section "Managing communicators" in http://www.boost.org/doc/libs/1_44_0/doc/html/mpi/tutorial.html#mpi.communicators
There is a split() function.Imagine I have 1000 processes. And I have for the variable x0 , 10 possible values, so the root(nil) of the tree has 10 children.I thought to split the world communicator (1000 processes) into 10 groups (10 processes each), and then continue the splitting until the process group holds less processes than possible values for the current variable x_i and then give the remainder of the tree to that process group.Is this "splitting" a costly operation? This splitting, it's not spawning at all (as far as I understand).Obviously the 1000 processes would be all launched at startup.I have to traverse the tree from the top to the bottom.Thanks,
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net