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)

Last updated