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>
  • Cc: starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] [LU factorisation: gdb debug output]
  • Date: Thu, 28 Dec 2017 20:47:04 +0200
  • Authentication-results: mail2-smtp-roc.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-lf0-f43.google.com
  • Ironport-phdr: 9a23:qyy6LBGqAosZqndYiPfa1J1GYnF86YWxBRYc798ds5kLTJ7zoMuwAkXT6L1XgUPTWs2DsrQY07OQ6/iocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmCexbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VC+85Kl3VhDnlCYHNyY48G7JjMxwkLlbqw+lqxBm3oLYfJ2ZOP94c6jAf90VWHBBU95RWSJCHoyzYJYBAeQDMuhGoYnzoEADogGiCQmpHu7vyiNEi33w0KYn0+ohCwbG3Ak4EtwJqnvVo9T1NKIPWu2p16bH1zHDYO1Q2Tf+74jIbA0qrPaJXb1qfsvRyEwvGxnfgVqLs4PlOy2a1uIOs2ic8eptTu2vi2s9pAFwpjij3Nsjio7Mho8MzF3P6Ct3wIEwJdKiSU57Z8apEJRRtyGGM4t5WNgtT3tpuCY9zLANpJ21fDASxZg52xLSb+aLfouI7x75SuqdPDd1iGhqdb+xnxq/80utxvf/W8S7ylpGsCRInsPNu30N0RHY99KJReFn/ki73DaCzwDT5f9AIUAzjafbLoQuwr80lpYKtUTDEDP6lFz4jKKZeEgo4Oeo6+PgYrXpop+TKZV4hR35MqQrgsC/AOI4PRYSX2WD5+iwyLnu8Vf6TbhKlPE6jLTVvZDAKckUqKO1GwpV3Zwi6xa7ATemytMYnXwfIVJAYh2GgInpO1TULP/iFviwmVCsnyltx/DFOb3hHI7ALnfGkLj7fLZ971RQxxY0zdBa/55UEK0OIOrvWk/ts9zVFgQ5MxCuzOb9ENV9y5oSVn+RDa+HLqzStUSF5uYuI+mXeI8VoyzxK/cr5/7pl385lkEScbOo3ZsRcnC4H+5pL1+XYXr20Z89FjIxtw8jQeiitF2DWzdOY2r6C7k14yw2DMS6DYbJT52pnJSA2j26F9tYfDYVJEqLFCLNfpWFXr8lYiuWL8lilSJMAb2oW44kkxikvQv3zblgMMLb/yQZsdTo090jtL6brg076TEhV5fV6GqKVWwh2zpQHzI=
  • 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>

Hello Samuel,

Thank you for your reply. I believe, I don’t need multiple views. I can pack a collection of tiles before submitting the task and unpack them inside the CPU function. This can be achieved with the StarPU data mode array (Similarly to the fmultiple_manual.c). This is how I’m doing it:

// Create panel data mode array
    struct starpu_data_descr *panel_desc =
        malloc((size_t)A.mt * sizeof(struct starpu_data_descr));

    for (int i = 0; i < A.mt; i++) {
        panel_desc[i].handle = A(i,k);
        panel_desc[i].mode   = STARPU_RW;
    }

    // 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;
    }

    int retval = starpu_task_insert(
        &core_starpu_codelet_zgetrf_pnl,
        STARPU_VALUE,              &A,                    sizeof(plasma_desc_t),
        STARPU_DATA_MODE_ARRAY,    panel_desc,            A.mt,
        STARPU_W,                  hPiv,
        STARPU_VALUE,              &k,                    sizeof(int),
        STARPU_VALUE,              &nvak,                 sizeof(int),
        STARPU_VALUE,              &ib,                   sizeof(int),
        STARPU_VALUE,              &num_panel_threads,    sizeof(int),
        STARPU_VALUE,              sequence,              sizeof(plasma_sequence_t),
        STARPU_VALUE,              request,               sizeof(plasma_request_t),
        STARPU_NAME,              "zgetrf_pnl",
        0);

    STARPU_CHECK_RETURN_VALUE(retval, "core_starpu_zgetrf_pnl: starpu_task_insert() failed”);

My only problem is to unpack the tiles and the pivots vector together, one after another inside the CPU kernel function. I can’t achieve this. Thank you.

Best wishes,
Maxim

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

On 28 Dec 2017, at 20:14, Samuel Thibault <samuel.thibault@inria.fr> wrote:

Maxim Abalenkov, on jeu. 28 déc. 2017 19:47:17 +0200, wrote:
Now I remembered another reason, why the multiple views were not suitable for
my application: sometimes I need to specify dependencies on both a panel and a
tile. And that won’t work, since only one view can be active at a time, i.e. if
a panel view is active all the tile handles will be invalid.

You can do either

- synchronization between multiple views by hand, just like
examples/filters/fmultiple_manual.c
- synchronization between multiple views through filters with
explicit submission of synchronization between views, just like
examples/filters/fmultiple_submit.c
- starting with the future StarPU 1.3, synchronization between multiple
views through filtesr with implicit submission, just like
examples/filters/fmultiple_submit_implicit.c

One option I see, is to use a custom data interface to pack/unpack the panel
tiles and the pivots vector.

You do not need specific data interfaces for these: they are still
matrices.

Samuel




Archives gérées par MHonArc 2.6.19+.

Haut de le page