Accéder au contenu.
Menu Sympa

starpu-devel - [starpu-devel] [BUG REPORT] Incorrect result when partitioning temporary data asynchronously

Objet : Developers list for StarPU

Archives de la liste

[starpu-devel] [BUG REPORT] Incorrect result when partitioning temporary data asynchronously


Chronologique Discussions 
  • From: Atte Torri <atte.torri@universite-paris-saclay.fr>
  • To: starpu-devel <starpu-devel@inria.fr>
  • Subject: [starpu-devel] [BUG REPORT] Incorrect result when partitioning temporary data asynchronously
  • Date: Thu, 16 May 2024 17:44:15 +0200 (CEST)
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=atte.torri@universite-paris-saclay.fr; spf=Pass smtp.mailfrom=atte.torri@universite-paris-saclay.fr; spf=None smtp.helo=postmaster@smtp-out-109.di.u-psud.fr
  • Dkim-filter: OpenDKIM Filter v2.11.0 smtp-out-1.di.u-psud.fr 4VgDsq6zxtzbsrL
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:TL2KV61JkHn55CecaWBPAgqjBHQkLtp133Aq2lEZdPU0SKalfq GV7ZcmPHDP6Qr5NEtMpTniAsW9qA3nm6KdiLN5VdyftWLd11dAQrsD0WKb+UyDJwTOstVGzK 9lfuxXAsDxC18St7ec3CCIV+072dGC/eSRmevDwzNMQGhRGsRdxjY8MRyDGkl6ADNLHoU0D/ Onl6x6TiCbCA0qR/X+PGAMW+WGnNHQiJf6CCR2YyIa1A==
  • Ironport-phdr: A9a23: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
  • Ironport-sdr: 664629d0_8QfEdD/8UlLVs48rwp4T/+uAZiaDP7j1AzifwakNNn4lqJW DMvzaWWmgDaaBSrtRF8+VskKpASeEzyt/4Sc30w==

Hello,

I get incorrect results when doing an asynchronous partitioning on temprary data. I have attached an example file for the problem.
It seems that the partitioned handle and the original handle do not share data correctly.
In the example file the expected result is that the output is the same for the original and partitioned handles (or that an error be raised by starpu).
If you comment line 120 and uncomment line 119 (starpu allocated data to user allocated data), the output of the executable is correct.
I have had similar problems with other partitioners / interfaces as well as with MPI enabled.

Best,
TORRI Atte
/* StarPU --- Runtime system for heterogeneous multicore architectures.
 *
 * Copyright (C) 2015-2023  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
 *
 * StarPU is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2.1 of the License, or (at
 * your option) any later version.
 *
 * StarPU is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * See the GNU Lesser General Public License in COPYING.LGPL for more details.
 */

/*
 * This examplifies how to access the same matrix with different partitioned
 * views, doing the coherency through partition planning.
 *
 * We first run a kernel on the whole matrix to fill it, then check the value
 * in parallel from the whole handle, from the horizontal slices, and from the
 * vertical slices. Then we switch back to the whole matrix to check and scale
 * it. Then we check the result again from the whole handle, the horizontal
 * slices, and the vertical slices. Then we switch to read-write on the
 * horizontal slices to check and scale them. Then we check again from the
 * whole handle, the horizontal slices, and the vertical slices. Eventually we
 * switch back to the whole matrix to check and scale it.
 *
 * Please keep this in sync with fmultiple_submit_readonly.c and fmultiple_submit_readonly_downgrade.c
 */

#include <starpu.h>

#define NX    6
#define NY    6
#define PARTS 2

#define FPRINTF(ofile, fmt, ...) do { if (!getenv("STARPU_SSILENT")) {fprintf(ofile, fmt, ## __VA_ARGS__); }} while(0)

void matrix_fill(void *buffers[], void *cl_arg)
{
	unsigned i, j;
	(void)cl_arg;

	/* length of the matrix */
	unsigned nx = STARPU_MATRIX_GET_NX(buffers[0]);
	unsigned ny = STARPU_MATRIX_GET_NY(buffers[0]);
	unsigned ld = STARPU_MATRIX_GET_LD(buffers[0]);
	int *val = (int *)STARPU_MATRIX_GET_PTR(buffers[0]);

	int factor;
	starpu_codelet_unpack_args(cl_arg, &factor);

	for(j=0; j<ny ; j++)
	{
		for(i=0; i<nx ; i++)
			val[(j*ld)+i] = factor;
	}
}

struct starpu_codelet cl_fill =
{
	.cpu_funcs = {matrix_fill},
	.cpu_funcs_name = {"matrix_fill"},
	.nbuffers = 1,
	.modes = {STARPU_W},
	.name = "matrix_fill"
};

void matrix_print(void *buffers[], void *cl_arg)
{
	unsigned i, j;
	(void)cl_arg;

	/* length of the matrix */
	unsigned nx = STARPU_MATRIX_GET_NX(buffers[0]);
	unsigned ny = STARPU_MATRIX_GET_NY(buffers[0]);
	unsigned ld = STARPU_MATRIX_GET_LD(buffers[0]);
	int *val = (int *)STARPU_MATRIX_GET_PTR(buffers[0]);

	for(j=0; j<ny ; j++)
	{
		for(i=0; i<nx ; i++)
			printf("value [%u,%u] = %d\n", i, j, val[(j*ld)+i]);
	}
}

struct starpu_codelet cl_print =
{
	.cpu_funcs = {matrix_print},
	.cpu_funcs_name = {"matrix_print"},
	.nbuffers = 1,
	.modes = {STARPU_R},
	.name = "matrix_print"
};

int main(void)
{
	int start, factor;
	unsigned n=1;
	int matrix[NX][NY];
	int ret, i;

	/* We haven't taken care otherwise */
	STARPU_ASSERT((NX%PARTS) == 0);
	STARPU_ASSERT((NY%PARTS) == 0);

	starpu_data_handle_t handle;
	starpu_data_handle_t vert_handle[PARTS];
	starpu_data_handle_t horiz_handle[PARTS];

	ret = starpu_init(NULL);
	if (ret == -ENODEV)
		return 77;
	STARPU_CHECK_RETURN_VALUE(ret, "starpu_init");

	/* Declare the whole matrix to StarPU */
	//starpu_matrix_data_register(&handle, STARPU_MAIN_RAM, (uintptr_t)matrix, NX, NX, NY, sizeof(matrix[0][0]));
	starpu_matrix_data_register(&handle, -1, (uintptr_t)NULL, NX, NX, NY, sizeof(matrix[0][0]));

	/* Fill the matrix */
	int value = 10;
	ret = starpu_task_insert(&cl_fill,
				 STARPU_W, handle,
				 STARPU_VALUE, &value, sizeof(value),
				 0);
	if (ret == -ENODEV) goto enodev;
	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");

	printf("Values in original before partitioning\n");
	ret = starpu_task_insert(&cl_print,
				 STARPU_R, handle,
				 0);
	if (ret == -ENODEV) goto enodev;
	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");

	starpu_task_wait_for_all();

	/* Partition the matrix in PARTS vertical slices */
	struct starpu_data_filter f_vert =
	{
		.filter_func = starpu_matrix_filter_block,
		.nchildren = PARTS
	};
	starpu_data_partition_plan(handle, &f_vert, vert_handle);

	/* Check the values of the vertical slices */
	for (i = 0; i < PARTS; i++)
	{
		printf("Values in partition %d before filling\n", i);
		ret = starpu_task_insert(&cl_print,
					 STARPU_R, vert_handle[i],
					 0);
		if (ret == -ENODEV) goto enodev;
		STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
		starpu_task_wait_for_all();
	}
	for (i = 0; i < PARTS; i++)
	{
		start = i*(NX/PARTS);
		value = 5;
		ret = starpu_task_insert(&cl_fill,
				STARPU_W, vert_handle[i],
				STARPU_VALUE, &value, sizeof(value),
				0);
		if (ret == -ENODEV) goto enodev;
		STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
	}
	for (i = 0; i < PARTS; i++)
	{
		printf("Values in partition %d after filling\n", i);
		ret = starpu_task_insert(&cl_print,
					 STARPU_R, vert_handle[i],
					 0);
		if (ret == -ENODEV) goto enodev;
		STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
		starpu_task_wait_for_all();
	}

	/*
	 * Unregister data from StarPU and shutdown.
	 */
	starpu_data_partition_clean(handle, PARTS, vert_handle);

	printf("Values in original after partitioning\n");
	ret = starpu_task_insert(&cl_print,
				 STARPU_R, handle,
				 0);
	if (ret == -ENODEV) goto enodev;
	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");

	starpu_data_unregister(handle);
	starpu_shutdown();

	return ret;

enodev:
	starpu_shutdown();
	return 77;
}


  • [starpu-devel] [BUG REPORT] Incorrect result when partitioning temporary data asynchronously, Atte Torri, 16/05/2024

Archives gérées par MHonArc 2.6.19+.

Haut de le page