[MPICH] Re: Problems with allreduce
Luiz Mendes
luizmendesw at gmail.com
Tue Jan 23 18:09:31 CST 2007
Hi all, Rajeev
I correct this, and i made some simplifications, and the problems appears to
be caused by the fact of i add double variable declarations.
It is very strange. Some light to this?
Thanks
Luiz
2007/1/23, Rajeev Thakur <thakur at mcs.anl.gov>:
>
> Where have you allocated space for arquivo_nome?
>
> Rajeev
>
> ------------------------------
> *From:* owner-mpich-discuss at mcs.anl.gov [mailto:
> owner-mpich-discuss at mcs.anl.gov] *On Behalf Of *Luiz Mendes
> *Sent:* Tuesday, January 23, 2007 5:05 PM
> *To:* mpich-discuss
> *Subject:* [MPICH] Re: Problems with allreduce
>
> Discard variable "tempo", without this continue getting error.
>
> thanks
>
> 2007/1/23, Luiz Mendes <luizmendesw at gmail.com>:
> >
> > Hi all, i am with a problem in operation MPI_Allreduce.
> >
> > The code is the following below:
> >
> > int main(int argc, char *argv[])
> > {
> > int opcao, dimensao,nome_tamanho, processo, num_procs;
> > int coluna, contador_bytes, contador_bytes_parcial, interacao,
> > contador_total_bytes;
> > char *palavra = NULL, *arquivo_nome;
> > char *arquivo_pv;
> > char procname[MPI_MAX_PROCESSOR_NAME];
> > double inicio, termino, tempo_parcial, soma_tempo_total, valor;
> > long long offset;
> > MPI_Datatype linhaMatriz;
> > MPI_File arquivo;
> > MPI_Status status;
> >
> > MPI_Init(&argc, &argv);
> > MPI_Comm_rank(MPI_COMM_WORLD, &processo);
> > MPI_Comm_size(MPI_COMM_WORLD, &num_procs);
> > MPI_Get_processor_name(procname,&nome_tamanho);
> >
> > while ((opcao = getopt(argc, argv, "A:D:P:h")) != EOF)
> > {
> > switch(opcao)
> > {
> > case 'A':
> > arquivo_pv =optarg;
> > sprintf(arquivo_nome,"%s",arquivo_pv);
> > break;
> > case 'D':
> > sscanf (optarg, "%d", &dimensao);
> > break;
> > case 'P':
> > sprintf(arquivo_nome,"pvfs2:/mnt/pvfs2/%s",arquivo_pv);
> > }
> > }
> >
> >
> > MPI_Type_contiguous(dimensao,MPI_DOUBLE,&linhaMatriz);
> > MPI_Type_commit(&linhaMatriz);
> >
> > MPI_File_open(MPI_COMM_WORLD, arquivo_nome, MPI_MODE_CREATE |
> > MPI_MODE_WRONLY, MPI_INFO_NULL, &arquivo);
> >
> > for(interacao=0; interacao<(dimensao/num_procs);interacao++)
> > {
> > double matrizlocal[dimensao];
> > valor=processo*(dimensao/num_procs)*dimensao+interacao*dimensao;
> >
> > offset=valor*sizeof(double);
> > for(coluna=0; coluna<dimensao; coluna++)
> > {
> > matrizlocal[coluna]=valor+coluna;
> > }
> >
> > MPI_File_set_view(arquivo, offset, MPI_DOUBLE, linhaMatriz,
> > "native", MPI_INFO_NULL);
> > inicio=MPI_Wtime();
> > MPI_File_write(arquivo, matrizlocal, 1, linhaMatriz, &status);
> > termino=MPI_Wtime();
> > tempo_parcial=termino-inicio;
> > contador_bytes_parcial+=sizeof(matrizlocal);
> > soma_tempo_total+=tempo_parcial;
> > }
> > MPI_File_close(&arquivo);
> > MPI_Allreduce(&soma_tempo_total, &tempo, dimensao, MPI_DOUBLE,
> > MPI_MAX,MPI_COMM_WORLD);
> > MPI_Finalize();
> > .......
> >
> >
> > Do you know what could be happening?
> >
> > Thanks
> >
> > Luiz Mendes
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20070123/2e491754/attachment.htm>
More information about the mpich-discuss
mailing list