Može li mi itko pomoći sa MPI_File_open.
Iz nekog razloga, non stop mi se program ruši na tom djelu, izradio sam jedan jednostavan program, pa ako bi netko mogao pogledati?
[code:1]
#include <mpi.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <math.h>
#include <complex>
using namespace std;
int main(int argc, char *argv[])
{
MPI_Fint handleA, handleB;
int node, p, q, dim[2], period[2], reorder=0, coord[2], nproc, n, dima[4], nb, nr, nc, dims[2], distribs[2], dargs[2], locsize, elem, rc;
complex <double> *MatA;
char nat[]="native", at[]="temp";
MPI_Comm comm;
MPI_File cFile;
MPI_Status *status;
MPI_Offset disp;
MPI_Datatype darray;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &node);
printf("Hello World, hello Antony, my rank is: %d \n", node);
rc=MPI_File_open(MPI_COMM_WORLD, at, MPI_MODE_RDONLY, MPI_INFO_NULL, &cFile);
if(rc){cout<<"Failed to open file! Error: "<<rc<<endl;MPI_Finalize(); exit(-1);}
else {
MPI_File_read_all(cFile, dima, 4, MPI_INT, status);
MPI_File_close(&cFile);}
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
printf("Stvaramo mrezu :D");
dim[1]=0;
dim[0]=0;
MPI_Dims_create(nproc, 2, dim);
MPI_Cart_create(MPI_COMM_WORLD, 2, dim, period, reorder, &comm);
MPI_Cart_coords(comm, node, 2, coord);
printf("Rank %d coordinates are %d %d\n", node, coord[0], coord[1]);
MPI_Finalize();
return 0;
}
[/code:1]
Ovo je file temp:
4 5 3 2
(1,0) (1,1) (1,2) (1,3) (1,4)
(2,0) (1,1) (1,2) (1,3) (1,4)
(3,0) (3,1) (4,2) (1,3) (1,4)
(4,0) (4,1) (3,2) (2,3) (1,4)
(5,0) (4,1) (4,2) (2,3) (1,4)
Može li mi itko pomoći sa MPI_File_open.
Iz nekog razloga, non stop mi se program ruši na tom djelu, izradio sam jedan jednostavan program, pa ako bi netko mogao pogledati?
Kod: |
#include <mpi.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <math.h>
#include <complex>
using namespace std;
int main(int argc, char *argv[])
{
MPI_Fint handleA, handleB;
int node, p, q, dim[2], period[2], reorder=0, coord[2], nproc, n, dima[4], nb, nr, nc, dims[2], distribs[2], dargs[2], locsize, elem, rc;
complex <double> *MatA;
char nat[]="native", at[]="temp";
MPI_Comm comm;
MPI_File cFile;
MPI_Status *status;
MPI_Offset disp;
MPI_Datatype darray;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &node);
printf("Hello World, hello Antony, my rank is: %d \n", node);
rc=MPI_File_open(MPI_COMM_WORLD, at, MPI_MODE_RDONLY, MPI_INFO_NULL, &cFile);
if(rc){cout<<"Failed to open file! Error: "<<rc<<endl;MPI_Finalize(); exit(-1);}
else {
MPI_File_read_all(cFile, dima, 4, MPI_INT, status);
MPI_File_close(&cFile);}
MPI_Comm_size(MPI_COMM_WORLD, &nproc);
printf("Stvaramo mrezu :D");
dim[1]=0;
dim[0]=0;
MPI_Dims_create(nproc, 2, dim);
MPI_Cart_create(MPI_COMM_WORLD, 2, dim, period, reorder, &comm);
MPI_Cart_coords(comm, node, 2, coord);
printf("Rank %d coordinates are %d %d\n", node, coord[0], coord[1]);
MPI_Finalize();
return 0;
}
|
Ovo je file temp:
4 5 3 2
(1,0) (1,1) (1,2) (1,3) (1,4)
(2,0) (1,1) (1,2) (1,3) (1,4)
(3,0) (3,1) (4,2) (1,3) (1,4)
(4,0) (4,1) (3,2) (2,3) (1,4)
(5,0) (4,1) (4,2) (2,3) (1,4)
|