Page MenuHomePhabricator

[OpenMP] Add missing `tt_hidden_helper_task_encountered` along with `tt_found_proxy_tasks`
Needs ReviewPublic

Authored by tianshilei1992 on Aug 2 2021, 4:06 PM.

Details

Summary

In most cases, hidden helper task behave similar as detached tasks. That means,
for example, if we have to wait for detached tasks, we have to do the same thing
for hidden helper tasks as well. This patch adds the missing condition for hidden
helper task accordingly along with detached task.

Diff Detail

Event Timeline

tianshilei1992 created this revision.Aug 2 2021, 4:06 PM
tianshilei1992 requested review of this revision.Aug 2 2021, 4:06 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 2 2021, 4:06 PM

Is it necessary, to have tt_hidden_helper_task_encountered and tt_found_proxy_tasks? Would it be sufficient, to just use tt_found_proxy_tasks all the time?

tianshilei1992 added a comment.EditedAug 4 2021, 9:50 AM

Is it necessary, to have tt_hidden_helper_task_encountered and tt_found_proxy_tasks? Would it be sufficient, to just use tt_found_proxy_tasks all the time?

Technically, I think it might be fine. However, I still would like to keep them separated as though proxy task and hidden helper task are similar, their execution are totally different. There is no proxy task generated during the whole execution, unlike detached task.

This patch can potentially fix a problem exposed in the added test case. However,
the case cannot pass now because it hangs in __kmp_execute_tasks_template.