00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 package org.objectweb.proactive.ext.scilab.test;
00032
00033 import java.io.BufferedReader;
00034 import java.io.BufferedWriter;
00035 import java.io.FileReader;
00036 import java.io.FileWriter;
00037 import java.io.PrintWriter;
00038
00039 import org.objectweb.proactive.ext.scilab.monitor.ScilabService;
00040 import org.objectweb.proactive.ext.scilab.util.FutureDoubleMatrix;
00041 import org.objectweb.proactive.ext.scilab.util.GridMatrix;
00042
00043 public class SciTestParPi {
00044
00045 public static void main(String[] args) throws Exception {
00046 ScilabService service = new ScilabService();
00047
00048 if(args.length !=5){
00049 System.out.println("Invalid number of parameter : " + args.length);
00050 return;
00051 }
00052
00053 int nbEngine = Integer.parseInt(args[2]);
00054 service.deployEngine(args[0], args[1], nbEngine);
00055
00056 BufferedReader reader = new BufferedReader(new FileReader(args[3]));
00057 PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(args[4])));
00058
00059 int precision;
00060 int nbBloc;
00061 String line;
00062 String arrayLine[];
00063 FutureDoubleMatrix piResult;
00064
00065 double startTime;
00066 double endTime;
00067 double result;
00068
00069 for(int i = 0; (line = reader.readLine()) != null; i++){
00070 if(line.trim().startsWith("#"))
00071 continue;
00072
00073
00074 if(line.trim().equals(""))
00075 break;
00076
00077 arrayLine = line.split(" ");
00078 nbBloc = Integer.parseInt(arrayLine[0]);
00079 precision = Integer.parseInt(arrayLine[1]);
00080
00081 startTime = System.currentTimeMillis();
00082 piResult = GridMatrix.calPi(service, "calPi" + i, precision, nbBloc);
00083 result = piResult.get()[0];
00084 service.removeAllEventListenerTask();
00085 endTime = System.currentTimeMillis();
00086 System.out.println("Pi = " + result);
00087 writer.println(nbEngine + " " + precision + " " + nbBloc + " " + (endTime - startTime));
00088
00089 }
00090
00091 reader.close();
00092 writer.close();
00093 service.exit();
00094 System.exit(0);
00095 }
00096
00097
00098 }