Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] [LU factorisation: gdb debug output]

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] [LU factorisation: gdb debug output]


Chronologique Discussions 
  • From: Maxim Abalenkov <maxim.abalenkov@gmail.com>
  • To: Samuel Thibault <samuel.thibault@inria.fr>, terry.cojean@inria.fr, nathalie.furmento@labri.fr
  • Cc: starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] [LU factorisation: gdb debug output]
  • Date: Wed, 10 Jan 2018 11:37:06 +0000
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=maxim.abalenkov@gmail.com; spf=Pass smtp.mailfrom=maxim.abalenkov@gmail.com; spf=None smtp.helo=postmaster@mail-wm0-f51.google.com
  • Ironport-phdr: 9a23:t1+2VRy7WgO8+Y7XCy+O+j09IxM/srCxBDY+r6Qd2ugeIJqq85mqBkHD//Il1AaPAd2Craocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze+/94HObwlSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDtU7s6RSqt4LtqSB/wiScIKTg58H3MisdtiK5XuQ+tqwBjz4LRZoyeKfhwcb7Hfd4CRWRPXdpeWCNcDI2ybYQBEeQBM+FDoobnu1cOqAGzBQmwCO7tzDJDm3/43bc90+QkCQzI2xYvHt0PsHTRsd74KLwdXvqxzKbWyzXDbPRW2Sng44XPdxAuu/6NXbN1ccbL00YgDBnKjlGOpozjPDOV0foNvnOU7+plT+2vimonpxttrTiow8chk4/EjZ8bxFDD8CV22oc1JdugRU50YN6kDJ9QuDuBOIdsQ8MiRGdlszs5xL0eoZO2ficHxI46yxLBa/GLaYuF7gz5WOuRPDt0nG9pdbyjixqo8kWtyffwWte73VpWtCZIk9jBu3YQ3BLJ8MeHUOFy/kK51DaPyQ/T7uZELFgxlaXBKp4hxqc8l5QWsUjfByP2lkX7gLKMekUr/eio7OvnYrH4qZOGK4B0jQT+Prwvmsy5H+s4LhADUmqU9OimybHv4030TK9Jg/EoiKXUsI3WKdwepqGjAg9V1ogj6wy4DzejyNkYmGMILV1EeBKClYTmIUrBL+r8DfihhVSskzBrx+7dM73uB5XCNHnDkLP7cblh7E5czRI/zcpD6JJMFrEBPPXzV1fqtNzEFBA5KRS0w/v+BNpgyIweR3yAAquCPaPWsF+I/f4vI/KWaI8atjb9LOIl5/HwgnMjmF8de7Op3ZoNZ3yiEPRmORbRXX25ud4EDGoO9jY+TebjlVmeGWpIbnOvUqZ6+jE6Aou7CZvrR4a3gbXH0j3tWtVKa3pcGxaHFnXlfoOsWvEWaSvULNUl2joNSbioT44skx+zrgr3zaZgBu7d8DcZ85z5h/Zv4OiGsBgi9Dk8Js6U12yLTGZq1jcNTi832eZ2q0V5x1GA1rZQjPlRFNgV7PRMBFRpfaXAxvB3XoihEjnKec2EHRP/Go3/UGMBC+kpytpLWH5TXtCrjxTNxS2vWuZHmLmCBZhy+aXZjSGoe5RNjk3e3axktGEIB9NVPDT/1KF6/gnXQYXOlhfBzvv4ReEnxCfIsVy74y+OsUVfClMiVKzEWTUAYxOTo4mgoEzFSLCqBPIsNQ4TkcM=
  • List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel/>
  • List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>

Dear Samuel et al.,

Thank you for your email. The problem I have at hand is a panel-wise LU factorisation. Where a panel is a column of matrix tiles and a tile denotes a block of a matrix. As a first implementation of LU factorisation I have built my algorithm around panels, where each panel gets processed by one StarPU task. Panel is a purely abstract notion. I call it a “container panel”, since it contains matrix tiles and makes working out data dependencies easier. To create these container panels I use StarPU’s concept of DATA_MODE_ARRAYs. Hence, the basic building block to resolve data dependencies "in the eyes" of StarPU is a panel. The algorithm works, but the performance is low.

Now, I would like to exploit the parallelism remaining in each container panel. I would like to operate by means of “subtasks”, where each subtask will work on a tile(s) of a panel. Would it be possible with “bubbles” that you mentioned earlier? Thank you and have a good day ahead!

Best wishes,
Maxim

Maxim Abalenkov \\ maxim.abalenkov@gmail.com
+44 7 486 486 505 \\ http://mabalenk.gitlab.io

On 8 Jan 2018, at 16:12, Samuel Thibault <samuel.thibault@inria.fr> wrote:

Hello,

Maxim Abalenkov, on mer. 03 janv. 2018 20:03:10 +0100, wrote:
a) What is the purpose of enforcing task execution on the home node? Is it
always necessary, when I use the STARPU_DATA_MODE_ARRAY in
“starpu_task_insert"? Please consider the code snippet I took from the
“fmultiple_manual.c”:

   // Enforce task execution on home node (STARPU_MAIN_RAM)
   core_starpu_codelet_zgetrf_pnl.specific_nodes = 1;

   for (int i = 0; i < STARPU_NMAXBUFS; i++) {
       core_starpu_codelet_zgetrf_pnl.nodes[i] = STARPU_MAIN_RAM;
   }

See the comment in the corresponding codelet function:

       /* This doesn't need to do anything, it's simply used to make coherency
        * between the two views, by simply running on the home node of the
        * data, thus getting back all data pieces there.  */

It's just a matter of collecting all pieces together on the same memory
node.

b) Can you please direct me to an example(s) of using StarPU subtasks (tasks
submitted by other tasks)?

I have to say I don't remember such kind of example. The problem is
that doing this kind of thing raises a lot of issues. Notably, if you
keep the default sequential consistency on data, the subtasks will
automatically be made to depend on the last submitted tasks which work
on the same data. I guess that's not what you want. Perhaps Terry and
Nathalie will have better answers with the addition of the notion of
bubble. At any rate, we need to know much better what exact semantic you
want from your subtasks, to determine what could suit your needs.

Samuel




Archives gérées par MHonArc 2.6.19+.

Haut de le page