This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Give me advice on GSoC OpenMP


From: Jakub Jelinek <jakub@redhat.com>
Date: Tue, 5 Apr 2011 17:22:04 +0200

> On Wed, Apr 06, 2011 at 12:16:13AM +0900, Sho Nakatani wrote:
>> OK. I'll do it as soon as possible.
>> Then, my current plan is:
>> - Learn other implementations (as Antoniu said)
>> - Learn Mercurium implementation
>> - Implement the same/similar feature as Mercurium in libgomp/ ,
>>   then evaluate it
>>   (This might be the first goal)
>> - Implement Lazy Task Creation for `untied task' in libgomp/ ,
>>   then evaluate it
>>   (If I could reach the first goal)
> 
> This would depend on implementing untied tasks, which is quite questionable
> thing and can be badly expensive too (while tied tasks can (and do currently)
> run on containing thread's stack, untied tasks need to have their own stacks
> and there needs to be a way to switch in between them, for which either
> you can use *context family of functions (deprecated, but could work
> at least on some targets), or come up with something target specific).
> 
> From Mercurium you probably don't need to study the actual C to C compiler,
> maybe just quickly what it generates for tasks, but primarily their runtime
> library.
> 
>> Is this plan OK?
> 
> Yeah (just that the last step depends on implementing untied tasks,
> you can certainly try to implement that (preferrably with minimal
> overhead for the default tied task model), but I guess that would take
> quite a lot of time to write and test it.
> 
> 	Jakub

Thanks a lot for your kind advice.
Then my latest plan is:
- Learn other implementations (as Antoniu said)
- Learn Mercurium implementation
- Implement the same/similar feature as Mercurium in libgomp/ ,
  then evaluate it
  (This is the goal for GSoC project)

However, I currently know nothing about Mercurium.
(Of course I'll read the documentation of Mercurium from now on)
Does Mercurium implement both `tied task' and `untied task'?
Should my goal be implementing both of them?

--
Sho Nakatani


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]