<div dir="ltr">Hi Raghav,<div><br></div><div>Thank you for using Argobots!</div><div><br></div><div>Yes, in this case, please use ABT_thread. I understand that the naming is extremely confusing, but ABT_thread (=user-level threads) works as a task in typical HPC fine-grained task-parallel programs. Other libraries used for task parallel programs also use "threads" for task implementations (Qthreads, MassiveThreads, ...). You can consider ABT_task (=tasklet) as a special user-level thread that cannot yield. The Argobots paper (Argobots: A Lightweight Low-Level Threading and Tasking Framework) describes the details.</div><div><br></div><div>If you have any further questions, please feel free to ask here!</div><div><br></div><div>Thanks,</div><div>Shintaro</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 7, 2021 at 11:28 AM Raghav Gupta via discuss <<a href="mailto:discuss@lists.argobots.org">discuss@lists.argobots.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Pasting the code snippet link again without any formatting - <a href="https://gist.github.com/raghav0307/9252fc7b568bc35baab29bdc9da70618" target="_blank">https://gist.github.com/raghav0307/9252fc7b568bc35baab29bdc9da70618</a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 7, 2021 at 11:55 PM Raghav Gupta <<a href="mailto:raghav18076@iiitd.ac.in" target="_blank">raghav18076@iiitd.ac.in</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I am trying to use argobots for writing a recursive task parallel program. </div><div><br></div><div>I have taken a very simple recursive task program example, where I am creating a parent argobot task which creates two child argobots tasks and then waits for them by calling ABT_task_free(). When I run this program with one xstream I find that it doesn't terminate. <i>(Code snippet - </i><a href="https://gist.github.com/raghav0307/9252fc7b568bc35baab29bdc9da70618" style="font-style:italic" target="_blank">https://gist.github.com/raghav0307/9252fc7b568bc35baab29bdc9da70618</a><i> )</i></div><div><br></div><div>My understanding is that this is because the parent task never yields the xstream to the child tasks, and hence the program gets stuck.</div><div><br></div><div>This program terminates when I use argobot threads instead of argobot tasks. Could someone point me to why this is not working with argobot tasks?</div><div><br></div><div>Best,</div><div>Raghav</div></div>
</blockquote></div>
_______________________________________________<br>
discuss mailing list<br>
<a href="mailto:discuss@lists.argobots.org" target="_blank">discuss@lists.argobots.org</a><br>
<a href="https://lists.argobots.org/mailman/listinfo/discuss" rel="noreferrer" target="_blank">https://lists.argobots.org/mailman/listinfo/discuss</a><br>
</blockquote></div>