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