Thanks for the answer. Isn't that the same thing by the 2-dim arrays? I mean m1.length*m1.length, for example: MPI.COMM_WORLD.send(m1, m1.length*m1.length , MPI.INT, 1, tag); But I get this exception: ArrayIndexOutOfBoundsException. What should I write to avoid this exception?
Best regards Ibrahim Ibrahim, if you want to send the full array, then please replace MPI.COMM_WORLD.send(m1, 1, MPI.INT, 1, tag); with MPI.COMM_WORLD.send(m1, m1.length, MPI.INT, 1, tag); and do similar changes in recv Cheers, Gilles On 11/5/2015 2:57 AM, Ibrahim Ikhlawi wrote: Hello, I want to send an array from process to another one. I send the array but I get only the first element of the array. This is a section from my code: int[] m1= new int[5]; if (0 == myrank) { for(int i= 0; i<m1.length ; i++){ m1[i] = 100; System.out.println("m1["+i+"]"+m1[i]); } MPI.COMM_WORLD.send(m1, 1, MPI.INT, 1, tag); }else{ MPI.COMM_WORLD.recv(m1 , 1 , MPI.INT , 0 ,tag); for(int i= 0; i<m1.length ; i++){ m2[i] = 3*m1[i]; System.out.println("m1["+i+"]"+m1[i]+" m2["+i+"]"+m2[i]); } MPI.COMM_WORLD.send(m2, 1 , MPI.INT, 0, tag); } if(0 == myrank){ MPI.COMM_WORLD.recv(m2, 1 , MPI.INT, 1 ,tag); System.out.println(Arrays.toString(m2)); } the result of this program is: m1[0]100 m1[1]100 m1[2]100 m1[3]100 m1[4]100 [300, 0, 0, 0, 0] m1[0]100 m2[0]300 m1[1]0 m2[1]0 m1[2]0 m2[2]0 m1[3]0 m2[3]0 m1[4]0 m2[4]0 Thanks in advance _______________________________________________ users mailing list us...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2015/11/27991.php _______________________________________________ users mailing list us...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2015/11/27993.php