Parallel Computing Tools
- Deterministic Parallel Java—parallel language that guarantees deterministic semantics with only compile-time checking (i.e., without run-time checks) for general-purpose, object-oriented programs.
- DPJizer—a refactoring tool that infers some of the annotations required by DPJ.
- ParKD—a package of new, faster multicore algorithms for building precise SAH-optimized k-D trees.
Refactoring for Parallelism
- ReLooper—an Eclipse-based refactoring tool for loop parallelism in Java. Eliminates the tediousness of parallelizing a loop in Java.
- Concurrencer—a tool for retrofitting parallelism into sequential Java. Empowers programmers to quickly and safely use concurrent collections and parallelize divide-and-conquer algorithms.
- Immutator—enables programmers to safely convert a mutable into an immutable class. For more info, read this paper.
- IMUnit—a framework for writing and executing multithreaded unit tests specified as orderings on events encountered during test execution.
- ReEx—a testing framework that dynamically explores all the possible behaviors/schedules of a multithreaded Java program in order to find buggy behaviors/schedules.
Tools/Resources by Intel
We are thankful for the sponsorship of the Intel Corporation and for the opportunity to partner with it to advance parallelism. Visit here for more useful resources and tools that our sponsor already offers the parallel computing community.