From: Manuel Antonio Perez Ucan~a <mperez@dgicii.mty.itesm.mx>
Newsgroups: comp.parallel.pvm
Subject: Re: Error in RS6K cluster
Date: Sat, 26 Sep 1998 22:24:10 -0500
Organization: ITESM Campus Monterrey . DINF-DTCI
Message-Id: <Pine.A41.3.96.980926213932.24704A-100000@dgicii.mty.itesm.mx>
References: <Pine.A41.3.96.980925174704.24964A-100000@dgicii.mty.itesm.mx>
    <6ujqqi$qvt$1@news.onramp.net>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Content-Transfer-Encoding: QUOTED-PRINTABLE
In-Reply-To: <6ujqqi$qvt$1@news.onramp.net>


Hello:

The code is:

****************

#include <stdio.h>
#include "pvm3.h"

#define numprocs 2=09

int mytid, tid[numprocs], ptid, num;

main() {

int    i, j, k, flops;
int    c =3D 1, me;  =20
double elapsed;
int    src, alen, atag;
int    infobuf;

  mytid =3D pvm_mytid();
  ptid =3D pvm_parent();

  if (ptid =3D=3D PvmNoParent) {
     tid[0] =3D mytid;
     num =3D  pvm_spawn("k21pvmp", 0, 1,"newton", numprocs - 1, &tid[1]);
     printf("\nNumero de Trabajos Creados =3D %d\n\n", num);
     printf("\nMyTID =3D %d\n\n", mytid);

     for (i =3D 0; i < numprocs; i++) {
         printf("%d\n", tid[i]);
     }

  } else
     tid[0]=3Dptid;

  if (ptid !=3D PvmNoParent) { /* Si es hijo */

     pvm_nrecv(ptid, 1);
     pvm_upkint(&tid, numprocs, 1);

     printf("Ya recibi los tid's\n");

/*     i =3D pvm_mkbuf(PvmDataDefault); */
     i =3D 5;
   =20
     pvm_initsend(PvmDataDefault);

/*=09 pvm_psend(tid[1], 1, &i, 1, PVM_INT); */

     pvm_pkint(&i, 1, 1);
     pvm_send(tid[1], 1);
/*     pvm_freebuf(i); */


/*         pvm_recv(-1, 1);
         pvm_upkint(&j, 1, 1);
         printf("%d ", j); */
  }

  else {

    pvm_initsend(PvmDataDefault);
    pvm_pkint(tid, numprocs, 1);
    pvm_send(tid[1], 1);

    printf("Esperando recibir info\n");
    printf("i =3D %d\n", i);


/*    pvm_precv(tid[0], 1, &i, 1, PVM_INT, &src, &atag, &alen); */=20

    pvm_nrecv(tid[0], 1);
    infobuf =3D pvm_upkint(&i, 1, 1);
    if (infobuf < 0) {
       pvm_perror();
       printf("\n\t<<<< Error >>>>  ->  %d\n\n", infobuf);
       printf("Error 1 : PvmNoData =3D %d\n", PvmNoData);
       printf("Error 2 : PvmBadMsg =3D %d\n", PvmBadMsg);
       printf("Error 3 : PvmNoBuf  =3D %d\n", PvmNoBuf);
    }

    else {
      printf("i =3D %d\n", i);
    }

/*=09   i =3D 10;
           pvm_initsend(PvmDataDefault);
           pvm_pkint(&i, 1, 1);
           pvm_send(tid[0], 1); */
  }

  if (ptid =3D=3D PvmNoParent) { /* Si es el Padre */
     printf("\nKernel 21\n");=20
     printf("Total Elapsed time =3D %10.5f seconds\n", elapsed);
  }

  pvm_exit();
 =20
} =20


Thanks


 ------------------------------------------
 Manuel Antonio Perez Uca=F1a  (MCT - 373766)
 mperez@dgicii.mty.itesm.mx
 Tel: 52 (8) 358-2000 ext. 5079
 Fax: 52 (8) 328-4081
 Centro de Investigacion en Informatica
 ITESM Campus Monterrey, Mexico
 ------------------------------------------

On Sat, 26 Sep 1998, Logic wrote:

> Could you provide some of the code?
>=20
>=20
> Manuel Antonio Perez Ucan~a wrote in message ...
>=20
> Hello:
>=20
> I'm trying to run a PVM program in a cluster of workstations (RISC
> 6000, with AIX 4.1 and 4.2) but this message is shown:
>=20
> libpvm [t40004]: pvm_upkint(): No current buffer
>=20
> The program is very simple, it's a test of message passing.
>=20
> I send an integer from the procces child  to the process father and the
> error message is shown (using a nonblocking receive).
>=20
> This architecture need a process of inicializing message passing?
>=20
> The PVM version is 3.3.11
>=20
> The same program is executed in a PowerXplorer whith 8
> proccessors and the execution its correct.
>=20
> The pvmd3 daemons are inicializing whit "pvm" in two machines.
>=20
> Thanks
>=20
> ------------------------------------------
> Manuel Antonio Perez Uca=F1a  (MCT - 373766)
> mperez@dgicii.mty.itesm.mx
> Tel: 52 (8) 358-2000 ext. 5079
> Fax: 52 (8) 328-4081
> Centro de Investigacion en Informatica
> ITESM Campus Monterrey, Mexico
> ------------------------------------------
>=20
>=20
>=20
>=20
>=20

