Print

Print


You will also need to set a unique random seed for each process to avoid repeating the same result in each parallel fraction.

 

Peace,

 

Matt.

 


From: FSL - FMRIB's Software Library [mailto:[log in to unmask]] On Behalf Of Andrįs Jakab MD
Sent: Tuesday, January 31, 2012 4:10 AM
To: [log in to unmask]
Subject: Re: [FSL] probtrackx on multi-core systems

 

Thanks, that makes perfect sense.
May anyone attempt to write such a script, I forgot to add that different random seed numbers have to be added as an argument.
Though memory is not a vital issue if you have 2-3Gb per core which is quite common. (16 or 24Gb systems).

Andrįs

On Tue, Jan 31, 2012 at 10:41 AM, Saad Jbabdi <[log in to unmask]> wrote:

Hi Andrąs
It's the easiest but not the best way to do it, as you would be loading the bedpostx samples multiple times instead of sharing memory between processes.

The harder (but still not so hard) way is to use some sort of shared-memory multiprocessing (such as OpenMP), but you would need to do a bit of c++ programing...

Note that we are aiming to do exactly this in the not so distant future :)

Saad.



On 31 Jan 2012, at 08:36, Andrįs Jakab MD wrote:

> Dear FSL experts,
>
> Multi-core (8-12) systems are extremely cheap and widespread. I created a script that performs probtrackx in parallel, with the -P (--nsamples) divided by the number of cores, i.e. 5000/8 and then summing the resulting fdt_paths or seed_to_target images. Is this the correct way to perform this optimization?
>
> Thank you.
> Andrįs

--
Saad Jbabdi
University of Oxford, FMRIB Centre

JR Hospital, Headington, OX3 9DU, UK
(+44)1865-222466  (fax 717)
www.fmrib.ox.ac.uk/~saad