PCJ is a library for Java language that helps to perform parallel and distributed calculations. The current version is able to work on the multicore systems connected with the typical interconnect such as ethernet or infiniband providing users with the uniform view across nodes.

Download PCJ library (jar file of 29.04.2017 ver. 5.0.6)  Latest (bug fixing release)!

Download PCJ manual (pdf) for PCJ 5 New!

The PCJ library can be used with no cost at BSD license. It requires Java 8 and no additional tools or comilers.  The PCJ library for Java 7 is available in the dowload section.

The source code is available at GitHub: https://github.com/hpdcj/pcj

Version 5 introduces asyncPut() and asyncGet() methods; put() and get() methods are now synchronous. There is new handling of shared variables. The code developed for PCJ 4 hast to be modified. For details please reffer to the JavaDoc file.

The usage should be acknowledged by reference to the PCJ web site and/or reference to the papers:

Full paper list can be found here: http://pcj.icm.edu.pl/pcj-papers

Contact: bala@icm.edu.pl faramir@icm.edu.pl

HPC Challenge Class 2 Best Productivity Award

PCJ received HPC Challenge Class 2 Best Productivity Award, which recognize the efficient way of  programming parallel applications.

The awards were announced on November 18, 2014, in New Orleans, Louisiana, at SC14, the International Conference for High Performance Computing, Networking, Storage and Analysis.

The HPC Challenge benchmarks are benchmark programs designed to evaluate the overall performance of supercomputers in terms of processing performance based on 28 frequently used computational patterns in the field of scientific computation. At the contest using the HPC Challenge benchmarks, which takes place once a year, there are two classes of awards: Class 1, which measures benchmark performance values, and Class 2, which measures the productivity of programming language implementations.

The HPC Challenge Class 2 Award is a contest for programming languages used in developing HPC applications. This award is designed to evaluate both programming language productivity and performance for HPC Challenge.

PCJ (http://pcj.icm.edu.pl) is a library for Java language that helps to perform parallel and distributed calculations. It is able to work on the multicore systems connected with the typical interconnect such as ethernet or infiniband providing users with the uniform view across nodes. Current development of the PCJ library is realized with the EU support within CHIST-ERA framework.