Accéder au contenu.
Menu Sympa

starpu-devel - Re: [Starpu-devel] Problème mode Redux de StarPU

Objet : Developers list for StarPU

Archives de la liste

Re: [Starpu-devel] Problème mode Redux de StarPU


Chronologique Discussions 
  • From: Nathalie Furmento <nathalie.furmento@labri.fr>
  • To: Thomas Lambert <thomas.lambert@inria.fr>, starpu-devel@lists.gforge.inria.fr
  • Subject: Re: [Starpu-devel] Problème mode Redux de StarPU
  • Date: Thu, 20 Apr 2017 10:21:27 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=nathalie.furmento@labri.fr; spf=None smtp.mailfrom=nathalie.furmento@labri.fr; spf=None smtp.helo=postmaster@v-zimmta02.u-bordeaux.fr
  • Ironport-phdr: 9a23:fS7voxzu9wajzpfXCy+O+j09IxM/srCxBDY+r6Qd2ukSIJqq85mqBkHD//Il1AaPBtSHraocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze6/9pncbglSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDtU7s6RSqt4LtqSB/wiScIKTg58H3MisdtiK5XuQ+tqwBjz4LRZoyeKfhwcb7Hfd4CWGRPQMhRWSxCDI2yYYQAAOgOMvpDoobnu1cDtwGzCRWiCe7tzDJDm3/43bc90+QkCQzIxBYvH84OsHvOqNX1NbkdWv21wqnV1zXDau1Z2THh6IjPbxsspveMUqhsccrR00YvEwLFgUuKpYzrIjOVzOENvHad7+p8UuKikGonpBtqrTi1x8cgkIfJhpgMx13C6C53zoE1JdiiR056Z96pCJpQtyeAN4t3WMwuWW9ouDw8x7YbupC7ZDAHxIkoyhPdcfCLbZWE7g75WOqPPDt1hGhpdKyjixqq7EStxe/xWtOq3FpXsiZJiMfAu38N2hDJ98SKSedx80G80jiVzQ/T8PtLIUUsmKrbNZEhxrkwm4INsUjaHy72mUD2jKqKdko+5uSk9f7rYqj/qpCHMI90kBzxPbo0lcyiDuU0KAYOX3KD9eS90r3s41H5Ta1XgvA5kKTVqo7WKdkHqqKjHQNZz4Yu5wyhAzu6yNgYmGMILFNBeBKJlYjpPFTOLej+Dfiln1SskC1kx/THPrL/GJnNIGXDkK3kfblj7U5c1A0zwMtb551OEb4BOvPzVlX/tNzCFhM5KRC7w/77CNVh0YMTQXmPArODP6PIqV+I+/sjLPSSa48Lpjn9L+Mo5/rvjX8ihV8dZrOl3ZQZaHC/BPRmLFuWbWDtgtcHC2cKvxAxQPbkiF2YAnZvYCOOX6U57ypzLIujB4rZWsj5nLyG2S6gWJlfY2pLEEykEHHydozCVe1aLGqJPsZ7iiFBWbW/RosJ0RC1qBS8xLRgNOXZvCwer5PqktZvtMPJkhRn0zVoD82Z0mzFYXxum24OWzh+iKZ2vUx0zlaOl6ZlmflVE8BUz/dAWB07c5DGmb8pQ+vuUx7MK4/aAG2tRc+rVHRoFoo8
  • 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>

Merci de préciser quelle version de StarPU est utilisée, et il manque le code. Vu la backtrace, la fonction starpu_codelet_unpack_args est appelée mais je ne le vois pas dans le code fourni.

Merci,

Nathalie

On 20/04/2017 10:14, Thomas Lambert wrote:
Bonjour,

Je suis en train de travailler avec la bibliothèque StarPU et je rencontre un problème que je n'arrive pas à résoudre.

En gros je travaille avec des matrices par bloc dont l'une est utilisée en mode STARPU_REDUX par mes tâches. J'ai pris modèle sur ce qui est fait dans "pi_redux.c" mais malheureusement ça ne fonctionne pas. Si je n'exclus pas l'erreur bête (je ne suis pas un grand habitué du C), avoir votre avis m'aidera peut-être à trouver plus facilement l'erreur.

Je vous donne en pièce jointe mon code (l'erreur est seulement dans le main, le reste est là pour que vous puissiez tester si besoin). Je détaille juste en dessous les parties probablement les plus pertinentes au vu du problème.

Pour être plus précis j'ai l'impression que l'erreur apparait à la fin du programme lors de la tentative de libération du handle placé en mode redux. Je reçois alors le message suivant :

/usr/local/lib/libstarpu-1.2.so.4(starpu_codelet_unpack_args+0xe5)[0x7f31c72697d5]
./test[0x408b6d]
/usr/local/lib/libstarpu-1.2.so.4(_starpu_push_task_to_workers+0x13a)[0x7f31c723cbea]
/usr/local/lib/libstarpu-1.2.so.4(_starpu_repush_task+0x6b)[0x7f31c723d16b]
/usr/local/lib/libstarpu-1.2.so.4(_starpu_enforce_deps_and_schedule+0x95)[0x7f31c721dfa5]
/usr/local/lib/libstarpu-1.2.so.4(_starpu_submit_job+0xbd)[0x7f31c721efed]
/usr/local/lib/libstarpu-1.2.so.4(starpu_task_submit+0x1c1)[0x7f31c7220d21]
/usr/local/lib/libstarpu-1.2.so.4(_starpu_data_end_reduction_mode+0x61a)[0x7f31c72615ba]
/usr/local/lib/libstarpu-1.2.so.4(+0x2fd17)[0x7f31c722dd17]
/usr/local/lib/libstarpu-1.2.so.4(_starpu_attempt_to_submit_data_request_from_apps+0x3d)[0x7f31c722df5d]
/usr/local/lib/libstarpu-1.2.so.4(+0x654df)[0x7f31c72634df]
/usr/local/lib/libstarpu-1.2.so.4(starpu_data_unregister+0x36)[0x7f31c7264356]
./test[0x40ad1a]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f31c6e5af45]
./test[0x401769]
test: util/starpu_task_insert.c:42: starpu_codelet_unpack_args: Assertion `cl_arg' failed.
Abandon (core dumped)

Pour ce qui est du code lui même je définis mon codelet d'initialisation comme suit  (l 148):

void init_cpu_func(void *descr[], void *cl_arg)
{
        int *val = (int *)STARPU_VARIABLE_GET_PTR(descr[0]);
        *val = 0;
}

static struct starpu_codelet init_codelet =
{
        .cpu_funcs = {init_cpu_func},
        .cpu_funcs_name = {"init_cpu_func"},
    .modes = {STARPU_W},
        .nbuffers = 1
};

mon codelet de réduction comme cela (l 162):

void redux_cpu_func(void *descr[], void *cl_arg)
{
        int *a = (int *)STARPU_VARIABLE_GET_PTR(descr[0]);
    int *b = (int *)STARPU_VARIABLE_GET_PTR(descr[1]);
    *a = *a + *b;
}

static struct starpu_codelet redux_codelet =
{
    .cpu_funcs = {redux_cpu_func},
    .cpu_funcs_name = {"redux_cpu_func"},
    .modes = {STARPU_RW, STARPU_R},
    .nbuffers = 2
};

mes handles (l236):

  starpu_data_handle_t *C_handle ;
  C_handle = malloc((N/l)*(N/l)*sizeof(starpu_data_handle_t)) ;
  for(i=0;i<N/l;i++){   
    for (j =0;j<N/l;j++){
      starpu_vector_data_register(&GET2(C_handle,i,j,N/l),STARPU_MAIN_RAM, (uintptr_t)(GET2(C_block,i,j,N/l)),l*l,sizeof(int)) ;
      starpu_data_set_reduction_methods(GET2(C_handle,i,j,N/l),&redux_codelet,&init_codelet) ;
    } ;
  } ;

et je les libère comme suit (l 323):

for(i=0;i<N/l;i++){
    int j ;
    for(j=0;j<N/l;j++){
      starpu_data_unregister(GET2(C_handle,i,j,N/l)) ;
    } ;
  } ;

Voilà, j'espère que vous pourrez m'aider. Si c'est plus commode pour vous je suis sur Bordeaux et peut me déplacer jusqu'à votre bureau.

Bonne journée

Thomas Lambert


_______________________________________________
Starpu-devel mailing list
Starpu-devel@lists.gforge.inria.fr
https://lists.gforge.inria.fr/mailman/listinfo/starpu-devel





Archives gérées par MHonArc 2.6.19+.

Haut de le page