есть несколько типичных примеров приложений, предоставляемых MPJ Express для тестирования и обучения. Вы можете получить к ним доступ в каталоге MPJ_HOME test mpi . вы можете или не можете получить точно такие же приложения, которые вы указали.
У меня есть код java, но вы ищете больше (Pi, Integration, Brute Force MD5hash в Java, некоторые другие проблемы с паралелизмом ...). Спасибо.
есть несколько типичных примеров приложений, предоставляемых MPJ Express для тестирования и обучения. Вы можете получить к ним доступ в каталоге MPJ_HOME test mpi . вы можете или не можете получить точно такие же приложения, которые вы указали.
Если вы все еще интересуетесь примерами, я нашел пример pi в java (mpj) с пакетом p2pmpi.jar. Очень сложно найти исходный код parralel в java, единственные твердые примеры - это, к сожалению, от mpj express.
import p2pmpi.mpi.*;
public class Main {
public static void main(String[] args) {
int rank, size, i;
double pi125dt = 3.141592653589793238462643;
double h, sum, x;
MPI.Init(args);
size = MPI.COMM_WORLD.Size();
rank = MPI.COMM_WORLD.Rank();
int[] n = new int[1];
double[] mypi = new double[1];
double[] pi = new double[1];
if (rank == 0)
n[0] = 1000000; // number of intervals
MPI.COMM_WORLD.Bcast(n, 0, 1, MPI.INT, 0);
h = 1.0 / (double) n[0];
sum = 0.0;
for (i = rank + 1; i <= n[0]; i += size) {
x = h * ((double) i - 0.5);
sum += (4.0 / (1.0 + x * x));
}
mypi[0] = h * sum;
MPI.COMM_WORLD.Reduce(mypi, 0, pi, 0, 1, MPI.DOUBLE, MPI.SUM, 0);
if (rank == 0) {
System.out.println("Po is approximately " + pi[0]);
System.out.println("Error is :" + (pi[0] - pi125dt));
}
MPI.Finalize();
}
}