[MPICH] Re: Problems with allreduce
Luiz Mendes
luizmendesw at gmail.com
Tue Jan 23 17:05:20 CST 2007
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/46396d3f/attachment.htm>
More information about the mpich-discuss
mailing list