<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in depend.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>8442967f - [OpenMP] Fix task wait doesn&apos;t work as expected in serialized team</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp#8442967f</link>
        <description>[OpenMP] Fix task wait doesn&apos;t work as expected in serialized teamAs discussed in D107121, task wait doesn&apos;t work when a regular task T depends ona detached task or a hidden helper task T&apos; in a serialized team. The root cause is,since the team is serialized, the last task will not be tracked by`td_incomplete_child_tasks`. When T&apos; is finished, it first releases itsdependences, and then decrements its parent counter. So far so good. For the threadthat is running task wait, if at the moment it is still spinning and trying toexecute tasks, it is fine because it can detect the new task and execute it.However, if it happends to finish the function `flag.execute_tasks(...)`, it willbe broken because `td_incomplete_child_tasks` is 0 now.In this patch, we update the rule to track children tasks a little bit. If thetask team encounters a proxy task or a hidden helper task, all following taskswill be tracked.Reviewed By: AndreyChurbanovDifferential Revision: https://reviews.llvm.org/D107496

            List of files:
            /llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp</description>
        <pubDate>Tue, 31 Aug 2021 16:15:38 +0000</pubDate>
        <dc:creator>Shilei Tian &lt;tianshilei1992@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>610fea65 - [OpenMP] libomp: fixed implementation of OMP 5.1 inoutset task dependence type</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp#610fea65</link>
        <description>[OpenMP] libomp: fixed implementation of OMP 5.1 inoutset task dependence typeRefactored code of dependence processing and added new inoutset dependence type.Compiler can set dependence flag to 0x8 when call __kmpc_omp_task_with_deps.All dependence flags library gets so far and corresponding dependence types:1 - IN, 2 - OUT, 3 - INOUT, 4 - MUTEXINOUTSET, 8 - INOUTSET.Differential Revision: https://reviews.llvm.org/D97085

            List of files:
            /llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp</description>
        <pubDate>Wed, 16 Jun 2021 11:47:29 +0000</pubDate>
        <dc:creator>AndreyChurbanov &lt;andrey.churbanov@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>9ce2e5e7 - Revert &quot;[OpenMP] libomp: implement OpenMP 5.1 inoutset task dependence type&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp#9ce2e5e7</link>
        <description>Revert &quot;[OpenMP] libomp: implement OpenMP 5.1 inoutset task dependence type&quot;This reverts commit a1f550e052543f75acac9089b760cbc61729131f.Revert in order to fix backwards compatibility breakagecaused by type size change for task dependence flag.

            List of files:
            /llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp</description>
        <pubDate>Wed, 09 Jun 2021 14:35:50 +0000</pubDate>
        <dc:creator>AndreyChurbanov &lt;andrey.churbanov@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>a1f550e0 - [OpenMP] libomp: implement OpenMP 5.1 inoutset task dependence type</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp#a1f550e0</link>
        <description>[OpenMP] libomp: implement OpenMP 5.1 inoutset task dependence typeRefactored code of dependence processing and added new inoutset dependence type.Compiler can set dependence flag to 0x8 when call __kmpc_omp_task_with_deps.Size of type of the dependence flag changed from 1 to 4 bytes in clang.All dependence flags library gets so far and corresponding dependence types:1 - IN, 2 - OUT, 3 - INOUT, 4 - MUTEXINOUTSET, 8 - INOUTSET.Differential Revision: https://reviews.llvm.org/D97085

            List of files:
            /llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp</description>
        <pubDate>Mon, 07 Jun 2021 18:42:51 +0000</pubDate>
        <dc:creator>AndreyChurbanov &lt;andrey.churbanov@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>9d64275a - [OpenMP] Added the support for hidden helper task in RTL</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp#9d64275a</link>
        <description>[OpenMP] Added the support for hidden helper task in RTLThe basic design is to create an outer-most parallel team. It is not a regular team because it is only created when the first hidden helper task is encountered, and is only responsible for the execution of hidden helper tasks.  We first use `pthread_create` to create a new thread, let&apos;s call it the initial and also the main thread of the hidden helper team. This initial thread then initializes a new root, just like what RTL does in initialization. After that, it directly calls `__kmpc_fork_call`. It is like the initial thread encounters a parallel region. The wrapped function for this team is, for main thread, which is the initial thread that we create via `pthread_create` on Linux, waits on a condition variable. The condition variable can only be signaled when RTL is being destroyed. For other work threads, they just do nothing. The reason that main thread needs to wait there is, in current implementation, once the main thread finishes the wrapped function of this team, it starts to free the team which is not what we want.Two environment variables, `LIBOMP_NUM_HIDDEN_HELPER_THREADS` and `LIBOMP_USE_HIDDEN_HELPER_TASK`, are also set to configure the number of threads and enable/disable this feature. By default, the number of hidden helper threads is 8.Here are some open issues to be discussed:1. The main thread goes to sleeping when the initialization is finished. As Andrey mentioned, we might need it to be awaken from time to time to do some stuffs. What kind of update/check should be put here?Reviewed By: jdoerfertDifferential Revision: https://reviews.llvm.org/D77609

            List of files:
            /llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp</description>
        <pubDate>Tue, 26 Jan 2021 03:14:52 +0000</pubDate>
        <dc:creator>Shilei Tian &lt;tianshilei1992@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ed939f85 - [OpenMP] Added the support for hidden helper task in RTL</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp#ed939f85</link>
        <description>[OpenMP] Added the support for hidden helper task in RTLThe basic design is to create an outer-most parallel team. It is not a regular team because it is only created when the first hidden helper task is encountered, and is only responsible for the execution of hidden helper tasks.  We first use `pthread_create` to create a new thread, let&apos;s call it the initial and also the main thread of the hidden helper team. This initial thread then initializes a new root, just like what RTL does in initialization. After that, it directly calls `__kmpc_fork_call`. It is like the initial thread encounters a parallel region. The wrapped function for this team is, for main thread, which is the initial thread that we create via `pthread_create` on Linux, waits on a condition variable. The condition variable can only be signaled when RTL is being destroyed. For other work threads, they just do nothing. The reason that main thread needs to wait there is, in current implementation, once the main thread finishes the wrapped function of this team, it starts to free the team which is not what we want.Two environment variables, `LIBOMP_NUM_HIDDEN_HELPER_THREADS` and `LIBOMP_USE_HIDDEN_HELPER_TASK`, are also set to configure the number of threads and enable/disable this feature. By default, the number of hidden helper threads is 8.Here are some open issues to be discussed:1. The main thread goes to sleeping when the initialization is finished. As Andrey mentioned, we might need it to be awaken from time to time to do some stuffs. What kind of update/check should be put here?Reviewed By: jdoerfertDifferential Revision: https://reviews.llvm.org/D77609

            List of files:
            /llvm-project-15.0.7/openmp/runtime/test/tasking/hidden_helper_task/depend.cpp</description>
        <pubDate>Sat, 16 Jan 2021 19:12:38 +0000</pubDate>
        <dc:creator>Shilei Tian &lt;tianshilei1992@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
