Hello World

Code example for PCJ 5: Print Hello World in parallel.

Calculations start from a special StartPoint class. That class contains main method (public void main()):

import java.io.IOException;
import org.pcj.*;
public class HelloWorld implements StartPoint {
public static void main(String[] args) throws IOException {
String nodesFile = "nodes.txt";
PCJ.executionBuilder (PcjExample.class)
.addNodes(new File("nodes.txt"))
.start();
}
}
@Override
public void main() throws Throwable {
System.out.println("Hello World from PCJ Thread " + PCJ.myId()
+ " out of " + PCJ.threadCount() );
}
}

The compilation and execution requires PCJ-5.0.9.jar in the path:

javac -cp .:PCJ.jar HelloWorld.java java -cp .:PCJ-5.0.9.jar HelloWorld

The expected output is presented below:

wrz 23, 2016 2:00:22 AM org.pcj.internal.InternalPCJ start INFO: PCJ version 5.0.0.SNAPSHOT-a728f5f built on 2016-09-13 00:58:48.180 CEST. wrz 23, 2016 2:00:22 AM org.pcj.internal.InternalPCJ start INFO: Starting HelloWorld with 4 threads (on 1 node)... Hello World from PCJ Thread 2 out of 4 Hello World from PCJ Thread 0 out of 4 Hello World from PCJ Thread 1 out of 4 Hello World from PCJ Thread 3 out of 4 wrz 23, 2016 2:00:22 AM org.pcj.internal.InternalPCJ start INFO: Completed HelloWorld with 4 threads (on 1 node) after 0h 0m 0s. BUILD SUCCESSFUL (total time: 0 seconds)