저는 MPJ Express를 사용하여 프로젝트 작업을하고 있습니다. 은 여기 읽기 : http://www.researchgate.net/profile/Bryan_Carpenter/publication/221302919_Multicore-enabling_the_MPJ_express_messaging_library/links/02bfe510be4ddbd5d0000000MPJ Java 멀티 코어 구성 또는 공유 메모리?
코드의 같은 부분에 대한 것을 :
import mpi.MPI;
public class NumberOfProcesses {
static int sharedVar = 0;
public static void main(String[] args) throws Exception{
MPI.Init(args);
int rank = MPI.COMM_WORLD.Rank();
sharedVar++;
System.out.println("Proc <"+rank+">: sharedVar = <"+sharedVar+">");
MPI.Finalize();
}
}
If we execute the code in the cluster configuration, we observe
the following output:
Proc <0>: sharedVar = <1>
Proc <1>: sharedVar = <1>
This is the correct and desired output. Here the HelloBug class
is executed by two MPJ processes in a SPMD fashion. Both of these
processes execute in a separate JVM and thus do not share the static
variable sharedVar—for this reason both processes increment the
variable first and print 1. This execution model is also depicted in
the Figure 10a.
On the other hand, when the code is executed in the multicore
configuration, the following output is observed:
Proc <0>: sharedVar = <1>
Proc <1>: sharedVar = <2>
내가 멀티 코어 구성에서 프로그램을 실행할 수있는 방법을 찾을 수 없습니다. 같은 출력 STH에서 제공하는 코드의 조각을 만드는 방법
MPJ Express (0.43) is started in the multicore configuration
Proc <2>: sharedVar = <1>
Proc <1>: sharedVar = <1>
Proc <3>: sharedVar = <1>
Proc <0>: sharedVar = <1>
가 : MPJ 익스프레스 (0.43) 인 것이 비록 는 항상 출력에 이러한 결과를 나에게주는 멀티 코어 구성에서 실행 것으로 보인다 멀티 코어 구성에서 시작되었습니다.
Proc <2>: sharedVar = <1>
Proc <1>: sharedVar = <2>
Proc <3>: sharedVar = <3>
Proc <0>: sharedVar = <4>
?
그래서,이 문서를 참조 : http://www.researchgate.net/profile/Bryan_Carpenter/publication/221302919_Multicore-enabling_the_MPJ_express_messaging_library/links/02bfe510be4ddbd5d0000000 이 가능하다는 출력을 얻는 방법은? PROC <2> : sharedVar = <1> PROC <1> : sharedVar = <2> PROC <3> : sharedVar = <3> PROC <0> : sharedVar = <4> –