Parallel Computing in Java
Downloads
Examples
Publications
Projects
Search…
About PCJ
HPCC Award
Downloads
Examples
Manual
Programming model
Task management
Shared variables
Communication
Communication - async
Publications
Projects
Powered By
GitBook
Communication
PCJ.broadcast() -
Sends data from one PCJ thraed to all other threads.
@Storage(PcjExample.class)
enum Shared { a }
public double a;
...
if (PCJ.myId() == 0 ) PCJ.broadcast(a, Shared.a)
PCJ.waitFor(Shared.a);
PCJ.put() -
Sends data from one PCJ thraed to another PCJ threads (PCJ thread - sends data to PCJ thread 1)
@Storage(PcjExample.class)
enum Shared { a }
public double a;
...
if (PCJ.myId() == 0 ) PCJ.put(a, 1, Shared.a);
PCJ.get() -
Gets data from anether PCJ thraed (form PCJ thread 1)
@Storage(PcjExample.class)
enum Shared { a }
public double a;
...
if (PCJ.myId() == 1 ) PCJ.get(a, 0, Shared.a);
PCJ.reduce() -
Gathers values from all PCJ threads and performs reduction (eg. sum).
@Storage(PcjExample.class)
enum Shared { a }
public double a;
...
if (PCJ.myId() == 0) {
double s = PCJ.reduce(Double::sum, Shared.a);
}
PCJ.collect() -
Gathers values from all PCJ threads
@Storage(PcjExample.class)
enum Shared { a }
public double a;
...
double cL[] = new double[PCJ.threadCount()];
if (PCJ.myId() == 0) {
cL = PCJ.collect(Shared.a);
for (int i = 0; i<PCJ.threadCount(); i++){
System.out.println("cl " + cL[i]);
}
}
Previous
Shared variables
Next
Communication - async
Last modified
2yr ago
Copy link