Accéder au contenu.
Menu Sympa

starpu-devel - [starpu-devel] [stencil based code: omitting last row and last column]

Objet : Developers list for StarPU

Archives de la liste

[starpu-devel] [stencil based code: omitting last row and last column]


Chronologique Discussions 
  • From: Maxim Abalenkov <maxim.abalenkov@gmail.com>
  • To: starpu-devel@inria.fr
  • Subject: [starpu-devel] [stencil based code: omitting last row and last column]
  • Date: Tue, 30 Jul 2024 13:24:24 +0400
  • 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-lj1-f176.google.com
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:KFtc0qpyGZIZ4EaZ2ePD+fIaV5oQeYIsimQD101hICG9E/bo9f xG+c5w6faaskd2ZJhNo6HiBED/ewK6yXcF2/h1AV7KZmCP0wuVxelZjLcKqAeQfxEWmNQtrJ uIsJITNDQzNzVHZArBjzVQa+xQuOVvOZrHudvj
  • Ironport-phdr: A9a23:y9zA0h3BpivLfh/WsmDO/w0yDhhOgF0UFjAc5pdvsb9SaKPrp82kY BeHo6oxxwaVFcWDsrQY0buQ6/ihEUU7or+/81k6M6ZwHycfjssXmwFySOWkMmbcaMDQUiohA c5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6KfroEYDOkcu3y/qy+5rOaAlUmTaxe7x/I RuqoQnLtMQbjoRuJrs+xxDUpndEZ/layXlnKF6Nmxvw/Nu88IJm/y9Np/8v6slMXLn1cKg/U bFWFjMqPXwr6sb2rxfDVwyP5nUdUmUSjBVFBhXO4Q/5UJnsrCb0r/Jx1yaGM8L4S7A0Qimi4 LxwSBD0kicHNiU2/3/Rh8dtka9UuhOhpxh4w47JfIGYMed1c63Bcd8GQ2dKQ8BcXDFDDIyhd YsCF+oPMvpXoIfgpFUAowWwCw63Cez11jNIg2X73a0m3+kjFwzNwQwuH8gJsHTRtNj7M70dU O+0zKnN0D7Oc+hZ1i356IfWdBAhovaMXaxtesfWzEkgDQzEjlSVqYD/JTyazf4Cs2yF4OpmV uKvjHAnphp+ojiq3Mgsi43JipgJxVDD8CV02YA4LsC3R0Bne9CrCodQtz2EOItsRMMvW2Vlt Ds0xLMJt5C1cyoHxZY7yxLDdfGLbYaF7Bz/WOiePzt1mW5odK+iihuw9UWtxfPxWtSp3VtEs yZLksTAu20L2hfO5MaHTf598V2g2TaJzw3c8PpLLlowlaXFLZ4hwbkwloQJvUTeHS/7nlj9g qyOdkg85OSk9+Dqbq/lq5KcLYN4lB3yP6c0lsCiA+k1MxACU3aG9eiizrHu/U70TK9XgvErn aTVqo3WKMsHqqO/HgRYzIIj6wukDze6ztsYh2QJLFNEeR2Zl4XlJ1fDK+3iA/ilmVSjijJry ujGPrL/BpXNKWDOkLL7crZ8705Q0Q4zzdJC655NBLENPfD+V07ruNzXCR85NAO0w+L5B9lny oweXmePDreYMKPUr1CI+voiL/eQaIIRojrwKPgo6+TwgXMlmlIRZ7Sl0JkWZXygG/RpOUSZY X7igtcbFmcKuxIzTOnwh1yNUD5TYmy+ULgn6T4hDIKpE4HDRoOqgLyfxyq7EZhWaXpHClCIC 3vna4KEW/IUZCKUOcBuiiYEWqS5S489yRGusxf3x6d/IurO5iIYrY7j1MRy5+DLjhEy6SZ7D 96F02GQVm17g30HRyEo06B7ukF90VeC0a1gg/NCD9BT5vVJUh07NZHG1eB6BcryCUr9eYKSV F+8WsjjDTwvQ9YZwtkUYk87Fc/xoArE2n+PCq8UkvSiDpUw/6Tf2Ga5c8N023fDkqArhl0rR MhIK0Wpg6d+807YAIufwBbRrLqjaalJhH2Fz2yE12fb5CmwMSZ1WKTBBjUEY1fO6M/+/gXER qOvDrIuNk1Az9SDI+1EcI6hlk1IEdHkPtmWeGetgyGoHx/dw7qcbY+scm8U2CjbC08auw8W9 HeCcwM5A3TpuHrQWQRnDkmneEbw6a97oXK/QFUzylSPZl1g0vy88BcRiPqfTO070bcNuSNno DJxTx6mx9yDLd2GqkJ6eblEJ9Mw5FASzWXCqwl0JYCtNYhnj18aNgB15gbgjkopTIpHlscuo TUhyw8axbuw9lRHenvY2JnxPuaSMWzu5FW0bLaQ3FjC0dGQ86NJ6fIiqlylshv7Xkwlu25q1 dVYyR7+rt3DERYSXJTtU0026wkyprfUZTM47p/V0nskOLe9szvL0dYkTOU/zRPoc9BaOaKCX Aj8dq9ST82nOO0v3VGjZxYJOuNV6oY7Osqnc72N36vqdOdskTS6jHhWtZhn2xHplWI0QerJ0 pAZhvCAi1HfBnGs0RH76pCxwN8aNlRwViKlxCPpBZBcfPh3dIcPUiK1JtGvg855n9jrUmJZ8 1iqAxUH3tWocFycdQ+Yv0UY2EIJrHiggSb9wSZzlmRjq6OP3SmIyu7rcBcBOWlVbGZnhFboZ 4OzippJOSrgJxhsjxaj6UvgkuJerbR+Ki/aS05Mci71KH9KXa65t77EaMlKosBN020fQKG3Z laUTaT4qh0R3nb4HmdQ8zs8cimjppTzmxESZHu1FH9otzKZfMhxwUya/9nAXbtK2SJAQiBki D7RD1z6Pt+z/NzSmY2R+uy5UmugUNVUf0yJhcuFvTu64CtjCxS7kvawncPPHg0z0Cu93N5vH SnFtxfzZID32r/ya7o2OBk1QgWku4wjRd82m5BV5tlYwXUAg5SJ4XcL2Xz+N9lWw+O2bXYAQ yIK38+A5QHk3EN5KXfaouCxHn6Zw8Zne5y7ejZMgnN7v50MUv/EquUbw3gQwBLwtw/abPljk y1IzPIv7CVfmOQVoE82yT3bBLkOHE5eNCiqlhKS7tn4or8EAQTnObW2ykd6msisSb+YpQQJE nPwapYnWyZ658FyNlHLzlX874jlfJ/batdZ5Xj221/QyvNYLp48jK9AgCN3OGe7tHcsz+M9j htw9Z6/tYmDbW5q+ejqZ3wQfi2wbMQV9Db3iK9YlcvDxIGjEKJqHTATVYfpR/alQ3oC8O7qP AGUHHggu2+WTPDBSBSH5h4s/BetW9i7cmuaL34DwZB+SQmBcQZB1RsMUmxyn4ZlRFv3gpWwK AEjum9Xvhmi9lNN0r46aUW5CDyE4l72MnFsD8HOSXgepgBauxWLb4rHtrg1R2cAucf55A2Vd j7FOUISUTBPChTCXxe5ZvGv/YWSrLLeX7b4dqqUJ+3J8Lw7Nb/AxIrzgNQ6uW/Wa4PXeCElV qNz21IfDykhS4KAxGpJG2pP0HiUJ8+D+EXlpXYx95HjtqytAEW2u+7tQ/NTKYk9oUjnx/fec bfK1GAhbm8HnpIUmS2SkeZZgQ5U0nA0MWHqSOVItDaRHviJxOkNVE9dMHk1bIwRvsdelkFbM MrfwLsZz5Zeifg4QxdAXF3lwYSyYNASZnq6LBXBDVqKM7KPIXvKxdv2aOWyU+8YiuIcrBC2t TuBdi2rdj2eiznkUQyuOuBQnWmaOhJZooS0bhdqDyDqUtvnbhSxNNI/gycxxPU4gXbDNGhUN jYZEQsFtrqL8SZRmelyAURE53thaO2GwmOXtraGbJkRtvRvD2J/kOcbqHU2xr1J7T1VEfx4n CyBy7wm61qik+SJ1n9mSE8U8mcN1N/N5x0yf/yGqMolOz6M5h8G4GSOBg5fotJkDoaqoKVM0 p3Uk7q1Lj5e8tXS9M9aBs7OKcvBPmByVHihUDPSEgYBSiamcG/FgEkI2vSb5nyQ6JEwo5zhn pkJVJdUUVU0ErURDUEvT7lgaN9nGygpl7KWlptC/X2lsBzYX9lXpLjCX/OWRPHtcXOX1OYaI RQPxrz8IMIYMYixiCkAIhFq2Y/NHUTXR9VEpCZsOxQ1rEt6+397VmQv2kjhZ2tFBVccEPe1m lg9jQ4sOYzFGx/j5l42IhzBoy5iySHZeP3giDGVNTrzdeK+BN4ITSXzsEc1P9XwRAMnNWWP
  • Ironport-sdr: 66a8b156_5+f0iI7dTomS3aJreP3EAsQfvy2ockoJWDcAGcj8hTObCee 4KyeeQ5JSyHvoAjr6qlOkkvgtlZ2NflYgiI4XrA==

Dear all,

How are you? I hope all is well with you. I need help please. I’m introducing StarPU to a stencil based (finite difference) code. I’m facing a situation where I have to perform a two stage update over a 2D array. This 2D array is implemented as a 1D array in C. To divide this array into chunks for StarPU tasks I use a 1D ‘filter’:

// divide data array into blocks
struct starpu_data_filter block_filter {
    .filter_func = starpu_vector_filter_block,
    .nchildren = NBLOCKS,
};

I need to omit updating the boundary elements (last row and last column elements) of my array. Please see the figure attached. The top left grid depicts the first update stage where the last row needs omitting from the calculation. The bottom left grid shows the second update stage, where the last column of elements needs omitting. The shaded regions are the elements I need to skip.

My question is: does StarPU have helper routines to skip calculation in those regions? Maybe a 2D filter would help here? Otherwise, I will have to perform manual checks and convert local i,j indices in each block into global indices and skip calculation if the global index falls into a shaded region. Is there a way in StarPU to find out global ‘begin’ and ‘end’ indices of each block—the indices used internally by the ‘filter’ routine?

Thank you for your help and have a good day ahead! 

Best wishes,
Maxim

two-stage-finite-difference.jpeg

Maxim Abalenkov \\ maxim.abalenkov@gmail.com
+44 7 486 486 505 \\ www.maxim.abalenkov.uk




Archives gérées par MHonArc 2.6.19+.

Haut de le page