|Message: Re: How is parallelization implemented using MPI and Geant4?||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
> > In my program, G4beamline, I seed the random number generator with the event > > number > This random generator seeding does sound reasonable. If you don't do > that, you'll always get the same result running your application. It's > all pseudo random after all. I however would use the thread number (if > possible) to name the files.
Yes, one definitely need different seeds. Thread number is not guaranteed to be unique on multiple systems (e.g. a Linux cluster); first event number is (because we arranged it).
> However doing an: > mpdboot -n 20 > mpiexec -n 20 mympiapp > Is easier than writing a shell script.
Only after installing MPI on every machine. I use a shell script on my 4-CPU Mac Pro all the time: g4beamline input.file first=0 last=999999 >0.out 2>&1 & g4beamline input.file first=1000000 last=1999999 >1000000.out 2>&1 & g4beamline input.file first=2000000 last=2999999 >2000000.out 2>&1 & g4beamline input.file first=3000000 last=3999999 >3000000.out 2>&1 & The input.file defines the simulation; it uses $first to name the output Root file and processes events from $first to $last ($ means parameter expansion).
> > This works for parallelization up to perhaps 32 jobs. Beyond that it gets > > rather cumbersome; certainly 10,000 parallel jobs is not feasible this way. > > Well 10.000 sounds hilarious.
There are a number of applications that need it. I expect that in a few years both CMS and ATLAS will scale to that level of parallelization. Perhaps not for simulations, and perhaps not for a single "job", but the need is there, and tool providers must be ready.