This is the mail archive of the gcc-patches@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: [libgomp] task scheduler rewrite and task priorities implementation


On 10/29/2015 08:46 AM, Aldy Hernandez wrote:
Yo!

As promised, here is the work implementing a new API for the task
scheduler, rewriting the scheduler to fit into this new API, and
implementing the task priorities that are in OpenMP > 4.1.  There are
also lots of cleanups and documentation.

After some back and forth with Jakub, here is my final answer :).

I removed the priority_node allocation overhead in favor of keeping the data in gomp_task with some fancy offsetof() tricks. There is now no measurable performance difference for the common case (0 priority tasks) in tweaked versions of nqueens-1.c, sort-1.c, and strassen.f90.

I also chased down a memory leak, but otherwise, the patch is mostly the same.

Tested on x86-64 Linux with 4 cores.

Approved by Jakub.

Committed to gomp-4_5-branch. Jakub, I'm sure you can pull it from there to mainline when you deem appropriate.

Enjoy.
Aldy

Attachment: curr
Description: Text document


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