University releases parallel programming language
Peter Clarke
10/12/2010 5:41 AM EDT IllinoisUniversity
LONDON – Universal Parallel Computing Research Center (UPCRC) at the University of Illinois has issued a first release of Deterministic Parallel Java (DPJ), a computer programming language that it is claimed can provide enhanced support for parallelism on multicore processors while at the same time supporting popular programming styles such as objected-orientation.
UPCRC is research collaboration between several University of Illinois departments and corporate partners Microsoft and Intel.
The DPJ project is being led by Professor Vikram Adve and Ph.D. student, Robert Bocchino with the aim of making parallelism easy, and to that end they have focused on developers’ preferences.
DPJ is modular parallel language that helps developers port sequential Java applications, or parts thereof, to run on multicore systems. It also helps them rewrite parallel Java applications to simplify debugging, testing, and long-term maintenance, it is claimed. A further benefit is that DPJ-ported parallel code can co-exist with ordinary Java code within the same application, so that programs can be incrementally ported to DPJ, according to the UPCRC website.
The initial release of DPJ is reportedly the first language to guarantee deterministic semantics without run-time checks for general-purpose, object-oriented programs. Future versions of DPJ are set to guarantee deterministic use of object-oriented parallel frameworks and the safe mixing of deterministic and non-deterministic code, according to the website
For more information, or to download DPJ, visit the Deterministic Parallel Javawebsite.
Adve and his group are also working with Intel to define a similar set of extensions to C++ (DPC++),
which can be used to check similar properties for existing programming models such as Cilk, OpenMP and Threading Building Blocks (TBB).
Related links and articles:
Intel upgrades parallel programming suite
Khronos upgrades parallel programming standard
Imagination preps GPU/CPU compilers for parallel processing
—————————————————————————————————————–