|
@@ -763,6 +763,7 @@ int _starpu_cuda_driver_run_once(struct _starpu_worker_set *worker_set)
|
|
task = worker->task_transferring;
|
|
task = worker->task_transferring;
|
|
if (task && worker->nb_buffers_transferred == worker->nb_buffers_totransfer)
|
|
if (task && worker->nb_buffers_transferred == worker->nb_buffers_totransfer)
|
|
{
|
|
{
|
|
|
|
+ _STARPU_TRACE_END_PROGRESS(memnode);
|
|
j = _starpu_get_job_associated_to_task(task);
|
|
j = _starpu_get_job_associated_to_task(task);
|
|
|
|
|
|
_starpu_set_local_worker_key(worker);
|
|
_starpu_set_local_worker_key(worker);
|
|
@@ -779,10 +780,9 @@ int _starpu_cuda_driver_run_once(struct _starpu_worker_set *worker_set)
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- _STARPU_TRACE_END_PROGRESS(memnode);
|
|
|
|
execute_job_on_cuda(task, worker);
|
|
execute_job_on_cuda(task, worker);
|
|
- _STARPU_TRACE_START_PROGRESS(memnode);
|
|
|
|
}
|
|
}
|
|
|
|
+ _STARPU_TRACE_START_PROGRESS(memnode);
|
|
}
|
|
}
|
|
|
|
|
|
/* Then test for termination of queued tasks */
|
|
/* Then test for termination of queued tasks */
|
|
@@ -811,6 +811,7 @@ int _starpu_cuda_driver_run_once(struct _starpu_worker_set *worker_set)
|
|
else
|
|
else
|
|
#endif /* !STARPU_SIMGRID */
|
|
#endif /* !STARPU_SIMGRID */
|
|
{
|
|
{
|
|
|
|
+ _STARPU_TRACE_END_PROGRESS(memnode);
|
|
/* Asynchronous task completed! */
|
|
/* Asynchronous task completed! */
|
|
_starpu_set_local_worker_key(worker);
|
|
_starpu_set_local_worker_key(worker);
|
|
finish_job_on_cuda(_starpu_get_job_associated_to_task(task), worker);
|
|
finish_job_on_cuda(_starpu_get_job_associated_to_task(task), worker);
|
|
@@ -831,11 +832,9 @@ int _starpu_cuda_driver_run_once(struct _starpu_worker_set *worker_set)
|
|
* flushing the pipeline, we can now at
|
|
* flushing the pipeline, we can now at
|
|
* last execute it. */
|
|
* last execute it. */
|
|
|
|
|
|
- _STARPU_TRACE_END_PROGRESS(memnode);
|
|
|
|
_STARPU_TRACE_EVENT("sync_task");
|
|
_STARPU_TRACE_EVENT("sync_task");
|
|
execute_job_on_cuda(task, worker);
|
|
execute_job_on_cuda(task, worker);
|
|
_STARPU_TRACE_EVENT("end_sync_task");
|
|
_STARPU_TRACE_EVENT("end_sync_task");
|
|
- _STARPU_TRACE_START_PROGRESS(memnode);
|
|
|
|
worker->pipeline_stuck = 0;
|
|
worker->pipeline_stuck = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -848,6 +847,7 @@ int _starpu_cuda_driver_run_once(struct _starpu_worker_set *worker_set)
|
|
/* Everybody busy */
|
|
/* Everybody busy */
|
|
_STARPU_TRACE_END_EXECUTING()
|
|
_STARPU_TRACE_END_EXECUTING()
|
|
#endif
|
|
#endif
|
|
|
|
+ _STARPU_TRACE_START_PROGRESS(memnode);
|
|
}
|
|
}
|
|
|
|
|
|
if (!worker->pipeline_length || worker->ntasks < worker->pipeline_length)
|
|
if (!worker->pipeline_length || worker->ntasks < worker->pipeline_length)
|