Trying to understand how libgomp implements the task construct

Olumide 50295@web.de
Tue May 31 22:50:00 GMT 2016


Hello list,

I'm trying to understand how libgomp implements the OpenMP task 
construct i.e. how the task construct is converted to code. The 
documentation provides a brief description for a handful of constructs, 
but not for the task construct. For example:

https://gcc.gnu.org/onlinedocs/libgomp/Implementing-SECTIONS-construct.html#Implementing-SECTIONS-construct

Also, where in the source can I find these implementations. I've cloned 
the repository and searched the source but cannot find the source for 
implementation of OpenMP constructs.

A bit of background. I'm working on a problem is a perfect fit for task 
parallelism however I'm also using a custom memory allocator and I am 
concerned about what happens when OpenMP creates a task. How much data 
does OpenMP copy, or does the task object/structure (I assume there is 
one) merely hold a pointer to my data? I think it matters because of the 
way that my objects are laid out in my custom memory pool.

Regards,

- Olumide



More information about the Gcc-help mailing list