Objet : Developers list for StarPU
Archives de la liste
- 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”);
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
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.cOne 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
- Re: [Starpu-devel] [LU factorisation: gdb debug output], (suite)
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Samuel Thibault, 20/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Maxim Abalenkov, 20/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Maxim Abalenkov, 20/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Samuel Thibault, 20/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Maxim Abalenkov, 21/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Maxim Abalenkov, 28/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Samuel Thibault, 28/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Maxim Abalenkov, 28/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Maxim Abalenkov, 28/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Samuel Thibault, 28/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Maxim Abalenkov, 28/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Samuel Thibault, 28/12/2017
- Re: [Starpu-devel] [LU factorisation: gdb debug output], Samuel Thibault, 28/12/2017
Archives gérées par MHonArc 2.6.19+.