Thank you,
From my point of view, they do solve my problem, because it is simple (for
loops with independent processing) and I'm going to work on a multicore
machine, where I have tested already openMP working fine with all the
processors available. I could use MPI (I also had worked with it in the
past) but I do not need to.
I tried to set the flags in the make file, but it ignores the pragmas, I
think because the make install call builds the .o objects first (I can see
that It always compiles each object first) and then it uses those objects
to build the exec using my flags, but since the objects did not use the
lgomp library it then just ignores the pragmas when building the exec.
Bare with me here, I'm a dummy using linux commands (makefiles) I used to
work with xtools and visual studio so I did not have to deal with
makefiles, but I understand enough to introduce the flags, I just do not
find where the instructions to make the objects are to add there also the
proper flags.
I have compiled FSL successfully from source, following the nice
instructions in your web page, but I did not need to deal with the
makefiles so I'm clumsy with them.
You do not need to answer this e-mail, using OpenMP is a secondary
objective for me and with time, I'll find a way to make it compile... but
if you could give me a hint where to look ... it will easy my search ;)
thanks
Julio
On Mar 23 2010, Dave Flitney wrote:
> They actually don't solve the same problem. Specifically OpenMP only
> supports parallel threads on a single machine whereas MPI supports
> parallel processes over a cluster of machines. OpenMP is simpler because
> the problem is simpler.
>
> In the src directory of an fsl distribution you'll find directories for
> each project, eg, $FSLDIR/src/flirt, and within a Makefile. Put your
> flags in there. There's plenty of instructions on our web site:
> www.fmrib.ox.ac.uk/fsl
>
>Regards,
>Dave
>Sent using BlackBerry® from Orange
>
>-----Original Message-----
>From: Julio Duarte <[log in to unmask]>
>Date: Mon, 22 Mar 2010 18:11:25
>To: <[log in to unmask]>
>Subject: Re: [FSL] OpenMP
>
>Actually, I have worked with OpenMP in the past and it is way simpler to
> use than say MPI and I have it installed on the cluster. On the other
> hand,
>I'm extending, for our own research purposes flirt, so I know exactly how
>to parallelize it and it fits the OpenMp model (my extended version).
>However, what I do not know is what changes to make on the make files or
>scripts you use to make install for instance.
>
>Could you give me pointers assuming that I know how to use OpenMP, I have
>OpenMP and I just need to compile it?
>
>Julio
>On Mar 22 2010, Dave Flitney wrote:
>
>>Julio,
>>
>> OpenMP isn't free. You can't simply recompile and have your code
>> parallelised. You would need to recode the sources to manually add the
>> parallel instructions. This is a very difficult process requiring
>> intimate knowledge of the program sources and how to make them
>> multi-thread safe.
>>
>> When we originally looked at parallel support we quickly realised that
>> our programming team (mostly PhD students working on their thesis
>> projects) would never have the time or inclinatin to acquire the skill
>> set to do this. Fortunately one can run multiple instances of much of
>> our
>> code on subsets of the data so we chose to take the pragmatic approach
>> of
>> parallelising by scripting independent sub jobs. We achieve this by
>> running the program via a queing systen such as SGE.
>>
>>Sadly though, flirt simply doesn't fit into this model, sorry.
>>
>>Hope that helps,
>>Dave
>>
>>------Original Message------
>>From: Julio Duarte
>>Sender: FSL - FMRIB's Software Library
>>To: [log in to unmask]
>>ReplyTo: FSL - FMRIB's Software Library
>>Subject: [FSL] OpenMP
>>Sent: 22 Mar 2010 16:21
>>
>>Hi,
>>
>>I'd like to use OpenMP to speed up some code in FSL. What changes should I
>> made to compile using openMP (for which I have support) for instance
>> flirt.
>> It probably means just to add -lgomp -fopenmp flags on some make files,
>> but
>>I do not exactly where.
>>
>>thanks
>>
>>Julio
>>
>>
>>
>>Sent using BlackBerry® from Orange
>
>
|