Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-08-25 Thread 김규래
Hi Jakub, I think the current semaphore sleep system ought to be improved. I'm not sure how but since the GSoC deadline is approaching I'll just post the results without the semaphores. Instead of sleeping on a per-task basis (for example there are depend waits, task waits, taskgroup waits

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-08-05 Thread 김규래
> I thought we don't want to go lock-free, the queue operations > aren't easily > implementable lock-free, but instead with a lock for each of > the queues, ​ Hi, By lock-free I meant to use locks only for the queues, But my terminology was indeed confusing sorry about that. ​ > mean we don't in

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-08-05 Thread Jakub Jelinek
On Sat, Aug 03, 2019 at 06:11:58PM +0900, 김규래 wrote: > I'm currently having trouble implementing the thread sleeping mechanism when > the queue is out of tasks. > Problem is, it's hard to maintain consistency between the thread sleeping > routine and the queues. > See the pseudocode below, > >

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-08-03 Thread 김규래
Hi, I'm currently having trouble implementing the thread sleeping mechanism when the queue is out of tasks. Problem is, it's hard to maintain consistency between the thread sleeping routine and the queues. See the pseudocode below, 1. check queue is empty 2. go to sleep if we go lock-free,

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-07-22 Thread 김규래
just wanted to be sure that's the general case. Thanks. Ray Kim -Original Message- From: "Jakub Jelinek" To: "김규래"; Cc: ; Sent: 2019-07-23 (화) 03:54:13 (GMT+09:00) Subject: Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime On Sun, Jul 21, 2019 at 04:4

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-07-22 Thread Jakub Jelinek
On Sun, Jul 21, 2019 at 04:46:33PM +0900, 김규래 wrote: > About the snippet below, > > if (gomp_barrier_last_thread (state)) > { > if (team->task_count == 0) > { > gomp_team_barrier_done (>barrier, state); > gomp_mutex_unlock (>task_lock); > gomp_team_barrier_wake (>barrier,

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-07-21 Thread 김규래
Hi Jakub, About the snippet below, if (gomp_barrier_last_thread (state)) { if (team->task_count == 0) { gomp_team_barrier_done (>barrier, state); gomp_mutex_unlock (>task_lock); gomp_team_barrier_wake (>barrier, 0); return; } gomp_team_barrier_set_waiting_for_tasks

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-07-13 Thread John Pinkerton
unsubscribe On Mon, Jun 24, 2019, at 3:55 PM, 김규래 wrote: > Hi, > I'm not very familiar with the gomp plugin system. > However, looking at 'GOMP_PLUGIN_target_task_completion' seem like > tasks have to go in and out of the runtime. > In that case, is it right that the tasks have to know from

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-07-13 Thread Jakub Jelinek
On Tue, Jul 09, 2019 at 09:56:00PM +0900, 김규래 wrote: > Hi, > This is an update about my status. > I've been working on unifying the three queues into a single queue. > I'm almost finished and passed all the tests except for the dependency > handling part. For dependencies, I can imagine taking

Re: Re: [GSoC'19, libgomp work-stealing] Task parallelism runtime

2019-06-24 Thread Jakub Jelinek
On Tue, Jun 25, 2019 at 04:55:17AM +0900, 김규래 wrote: > I'm not very familiar with the gomp plugin system. > However, looking at 'GOMP_PLUGIN_target_task_completion' seem like tasks have > to go in and out of the runtime. > In that case, is it right that the tasks have to know from which queue