0
我試圖使用MPI的java實現,名爲MPJ-Express,並遇到了一個錯誤,我無法讀取從中運行我的節點上的控制檯輸入應用。爲了演示這個問題,我做了以下簡單的程序。無法使用MPJ Express(MPI)獲取控制檯輸入
public class TestConsole {
/**
* @param args
*/
public static void main(String[] args) {
BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in));
String aLine = "";
if (MPI.COMM_WORLD.Rank() == 0)
{
while(!aLine.equals("exit"))
{
System.out.println("please enter data: ");
try {
aLine = bufferRead.readLine();
System.out.println(aLine);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
如果我運行mpjrun該應用程序,我帶有提示「請輸入數據:」不管我是什麼類型,我無法得到任何內容echod回來。當我使用普通的舊java -jar blah運行應用程序時,應用程序工作正常(當然剝離了mpi的東西之後)。
我使用的是3臺運行Ubuntu的虛擬機。從我讀過的內容來看,MPJ應該接受0級節點上的控制檯輸入,所以我不確定我做錯了什麼。