Objet : Developers list for StarPU
Archives de la liste
Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error]
Chronologique Discussions
- From: Maxim Abalenkov <maxim.abalenkov@gmail.com>
- To: starpu-devel@inria.fr
- Subject: Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error]
- Date: Mon, 4 Nov 2024 14:03:36 +0000
- 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-wm1-f53.google.com
- Ironport-data: A9a23:PfNBRai/gY+qnlqdkrJTy8U3X161ohEKZh0ujC45NGQN5FlHY01je htvD2nVafrcNmH9KY0jbYvloBkE6J/Um4RgSgQ4rS5gFS5jpJueD7x1DG+gZnLIdpWroGFPt phFNIGYdKjYaleG+39B55C49SEUOZmgH+a6UqieUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo tqaT/f3YTdJ4BYqdDtNg06/gEk35qir4WtE5gVWic1j5TcyqVFFVPrzGonqdxMUcqEMdsamS uDKyq2O/2+x13/B3fv4+lpTWhRiro/6ZWBiuFIOM0SRqkQqShgJ70oOHKF0hXG7JNm+t4sZJ N1l7fRcQOqyV0HGsLx1vxJwS0mSMUDakVNuzLfWXcG7liX7n3XQL/pGCn4YIZIf0+tLXUZ+1 /kkCyoUZUq/rrfjqF67YrEEasULKcDqOMYAvyglw2yCS/khRp/HTuPB4towMDUY3JgfW6aDI ZNDOXwyN3wsYDUXUrsTIJc3jOatwHD1ejlVrlGSu4I45mHSyEp6172F3N/9I43QHZkEwxjEz o7A12LhGiAAJPez9TSc8UqBjdbFoiD8So1HQdVU8dYv2jV/3Fc7EwEfT0Om5PW0lEO6c8lOL lQdvCsot6k7skKxJuQRRDW9qX+A+wEZAp9eTrZ85waKxa7ZpQ2eAwDoUwJ8VTDvj+duLRRC6 7NDt4mB6ZFH6dV5lVr1GnaoQTKO1ew9KGYDYWobSFJA7YS45o40iR3LQ5BoF6vdYhgZ393v6 2jikcT8r+x7YQ03O2GT8lXOgjbqrZ/MJuLwzhuCRXqrt2uVe6b8D7FFKjHnATJoI4OQT13Ht 38B8yRbACbiErnV/BGwrC4x8H1FKhpL3PAwQbKiInX5ywmQxg==
- Ironport-hdrordr: A9a23:9vDpX6ltPOmQVXQgSQEvzz7EHU7pDfIb3DAbv31ZSRFFG/Fw9v re/sjzsCWftN9/YgBGpTntAtjifZqYz+8M3WBuB8bYYOCWghrMEGgK1+KLqF3d8m/Fh4hgPM 9bEpSWY+eAaWSS4/yKmTVQ0OxN/DBEys2VbCvloEuFNTsaEZ2IJj0WNjqm
- Ironport-phdr: A9a23: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
- Ironport-sdr: 6728d450_MxWxsZlArSsiAtceL5MdQ6BNiJiUN7g+zRmDVuRNIiomp/m 7wIHySZ8AhW6t3Ue8eO57elPLAL638X3aXnJNhw==
Dear Samuel, Philippe et al.,
How are you? I hope all is well with you. Thank you very much for your suggestions. I tried:
a) using starpu_pause, starpu_resume around sequential part of the code
b) using starpu_data_acquire, starpu_data_release —//—
c) examining the task size overhead on my system with the ‘task_size_overhead.sh’ script
find -name tasks_size_overhead.sh
./tests/microbenchs/tasks_size_overhead.sh
./starpupy/benchmark/tasks_size_overhead.sh
./build/tests/microbenchs/tasks_size_overhead.sh
./build/starpupy/benchmark/tasks_size_overhead.sh
The a) and b) didn’t not bring any performance gain. I run my StarPU code with
STARPU_NCUDA=0 STARPU_NOPENCL=0 STARPU_NCPU=8 STARPU_SCHED=dmda python ./app.py
Python script ‘app.py’ is a simple wrapper pre-processing the input data and launching the main C + StarPU executable.
I also fail to run the shell script c). It crashes because it is unable to find the executable ‘tasks_size_overhead’. I couldn’t find it either using a ‘find’ command. Do I need to configure and compile StarPU with some extra options to make the executable ‘tasks_size_overhead’?
I’m using StarPU 1.4.7 @ macOS Sonoma 14.7.1 with an M2 CPU.
I will share my source code in a public GitHub repository for you to see in the very near future. In the meantime I’m going to convert the final phase of my finite-difference code to StarPU and test performance again. Thank you for your help and have a wonderful day ahead!
—
Best wishes,
Maxim
Maxim Abalenkov \\ maxim.abalenkov@gmail.com
+44 7 486 486 505 \\ www.maxim.abalenkov.uk
+44 7 486 486 505 \\ www.maxim.abalenkov.uk
On 11 Oct 2024, at 16:13, Philippe SWARTVAGHER <philippe.swartvagher@inria.fr> wrote:
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
- Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error], Maxim Abalenkov, 04/11/2024
- Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error], Maxim Abalenkov, 05/11/2024
- Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error], Maxim Abalenkov, 05/11/2024
- Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error], Maxim Abalenkov, 05/11/2024
- Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error], Maxim Abalenkov, 05/11/2024
- Re: [starpu-devel] [StarPU for stencil-based code: logic, starpu_shutdown error], Maxim Abalenkov, 05/11/2024
Archives gérées par MHonArc 2.6.19+.