This is the mail archive of the gcc-help@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]

Trying to understand how libgomp implements the task construct


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


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