Accéder au contenu.
Menu Sympa

starpu-devel - Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error]

Objet : Developers list for StarPU

Archives de la liste

Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error]


Chronologique Discussions 
  • From: Philippe SWARTVAGHER <philippe.swartvagher@inria.fr>
  • To: Samuel Thibault <samuel.thibault@inria.fr>, Maxim Abalenkov <maxim.abalenkov@gmail.com>, starpu-devel@inria.fr
  • Subject: Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error]
  • Date: Fri, 11 Oct 2024 17:13:52 +0200
  • Authentication-results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=philippe.swartvagher@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr



Le 11/10/2024 à 14:43, Samuel Thibault a écrit :
No, that should not really be a problem. But how large your tasks
are? See the checklist item about task sizes:

https://files.inria.fr/starpu/doc/html/CheckListWhenPerformanceAreNotThere.html#CheckTaskSize

That being said, you will probably want to put starpu_pause() /
starpu_resume() around your not-yet-starpufied code, otherwise StarPU
monopolizes all CPU cores, which can thus degrade the performance of the
non-starpufied code.

If your non-StarPU code accesses data managed by StarPU, you should also call

starpu_data_acquire(data_handle, STARPU_R /* or STARPU_RW */)

before your non-StarPU code reads (or writes) the StarPU data. This makes sure the tasks which manipulate data_handle are finished. Then, to tell StarPU you are finished working with this memory and it can start other tasks using this handle, you have to call

starpu_data_release(data_handle)

Have a look for instance on this example: https://gitlab.inria.fr/starpu/starpu/-/blob/f3e318b326666c5b279680d5a57fc0468e8c1876/examples/filters/fvector_pick_variable.c

Or, instead, you can just call

starpu_task_wait_for_all()

but depending on what your application does, you may not need to wait for all tasks to finish to start reading/writing one piece of data.

Not sure if this will solve your problems, but it was missing from your description of how your program uses StarPU.

--
Philippe SWARTVAGHER
Assistant Professor @ ENSEIRB-MATMECA
Research team Topal @ Inria Bordeaux-Sud Ouest



Archives gérées par MHonArc 2.6.19+.

Haut de le page