Getrf and Getrf_qrf test fails for ptg_to_dtd module

Issue #158 new
Reazul Hoque created an issue

In getrf and getrf_qrf, the kernel getrf_rectil is called. The behavior of this kernel is that, multiple threads will call it and a barrier inside it will be satisfied when all the threads reach that point.

In ptg_to_dtd module the dependencies are created based on what data each task is using in each flow. In these two cases(getrf and getrf_qrf), when hook of multiple getrf_rectil are made a dependency is created between them as they use the same data. Now the subsequent call after the first one, needs to wait until the first call to getrf_rectil is completed. But, in this case the first call blocks as getrf_rectil is expecting more threads to join a barrier inside, where DTD will not activate and execute the others before the first one is complete. What we observe here is the behavior of atomic_write.

Solution: Implement logic for atomic_write in DTD and add flags in PTG for flow to indicate atomic_write behavior.

Comments (4)

  1. Reazul Hoque reporter

    After discussion: The simplest solution now would be to get a special flag from PTG side to treat parallel write tasks as read tasks.

  2. Log in to comment