0

マシンにメッセージを送信してから返信するコードを作成しましたが、どのように時間を計ればよいのでしょうか。メッセージが他のコンピューターに送信されてから返されるまでにかかる時間はどれくらいですか。

これが私がこれまでに持っているコードです:

import mpi.* ;

class Hello {
  static public void main(String[] args) {
    MPI.Init(args) ;
    int myrank = MPI.COMM_WORLD.Rank();
    if(myrank == 0) {
      char[] mess = " Raptor" .toCharArray();
      MPI.COMM_WORLD.Send(mess, 0, mess.length, MPI.CHAR, 1, 99);
    } else {
      char[] mess = new char [20];
      MPI.COMM_WORLD.Recv(mess, 0, 20, MPI.CHAR, 0, 99);
      System.out.println("received:"+new String(mess)+":");
    }
    MPI.Finalize();
  }
}   

簡単な質問の場合は申し訳ありませんが、初めてmpiを使用します。

編集:

今のコードは:

import mpi.* ;

class Hello {

  static public void main(String[] args) {
    MPI.Init(args) ;
    int myrank = MPI.COMM_WORLD.Rank();
    if(myrank == 0) {
long startTime = System.nanoTime();
      char[] mess = " Hello, there" .toCharArray();
      MPI.COMM_WORLD.Send(mess, 0, mess.length, MPI.CHAR, 1, 99);
    } else {
      char[] mess = new char [20];
      MPI.COMM_WORLD.Recv(mess, 0, 20, MPI.CHAR, 0, 99);
      System.out.println("received:"+new String(mess)+":");
long endTime = System.nanoTime();
    }

long duration = endTime - startTime;
system.out.println(duration);
    MPI.Finalize();
  }
}   

しかし、コンパイル時にこれらのエラーが発生しています:

javac Hello.java

Hello.java:19: error: cannot find symbol
long duration = endTime - startTime;
                ^
  symbol:   variable endTime
  location: class Hello
Hello.java:19: error: cannot find symbol
long duration = endTime - startTime;
                          ^
  symbol:   variable startTime
  location: class Hello
Hello.java:20: error: package system does not exist
system.out.println(duration);
      ^
3 errors
4

1 に答える 1

2
long startTime = System.nanoTime();
// send & receive
...
long endTime = System.nanoTime();

long duration = endTime - startTime;

MPI.Init(args);
int myrank = MPI.COMM_WORLD.Rank();
long startTime = System.nanoTime();
if (myrank == 0) {
     ...
} else {
      ...
}

long endTime = System.nanoTime();
long duration = endTime - startTime;
于 2013-03-23T18:37:54.013 に答える